質問があります。
div 内の各 h2 を反復処理し、テキスト値を取得して、それを他の一連の div に、反対側に表示される順序で追加するにはどうすればよいですか?
eq などを使用してそれぞれを実行することもできますが、特定の時点での div の数は多かれ少なかれ異なる可能性があるため、これは理想的ではありません。 div。
これにアプローチする方法がわからないという理由だけで、この例ではまだ行ったjsはありません。
どんな助けでも大歓迎です。
ありがとう
を使用することが唯一の選択肢だと思い.eq
ますが、コードが柔軟性を失うわけではありません。
var $divs = $('.wrap-two div.item');
$('.wrap h2').each(function(index) {
$divs.eq(index).text($(this).text());
});
// or alternatively:
var $h2s = $('.wrap h2');
$('.wrap-two div.item').text(function(index) {
return $h2s.eq(index).text();
});
追加div
の s は空のままになり、 s が少なすぎてもdiv
問題ありません。.eq
そのインデックスを持つ要素が存在しない場合でも、常に jQuery オブジェクトを返します。への呼び出し.text
は黙って無視されます。
それとも、常に s と同じ数div
の s を使用しh2
ますか?
clone()
同じ.item
クラスを共有しているため、最初のリストから 2 番目のリストにすることもできます。
$('.wrap .item').clone().appendTo('.wrap-two');
このフィドルをチェックしてください.. http://jsfiddle.net/u2VY5/3/
$(function(){
$('#btn1').on('click' , function(){
var data = $('.wrap div h2');
var target = $('.wrap-two div');
$.each(data, function(i){
$(target[i]).append('h2').text($(this).text());
});
});
});