1

質問があります。

div 内の各 h2 を反復処理し、テキスト値を取得して、それを他の一連の div に、反対側に表示される順序で追加するにはどうすればよいですか?

eq などを使用してそれぞれを実行することもできますが、特定の時点での div の数は多かれ少なかれ異なる可能性があるため、これは理想的ではありません。 div。

これにアプローチする方法がわからないという理由だけで、この例ではまだ行ったjsはありません。

どんな助けでも大歓迎です。

フィドルの例

ありがとう

4

3 に答える 3

2

を使用することが唯一の選択肢だと思い.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ますか?

于 2012-09-06T01:05:38.120 に答える
0

clone()同じ.itemクラスを共有しているため、最初のリストから 2 番目のリストにすることもできます。

$('.wrap .item').clone().appendTo('.wrap-two');​

http://jsfiddle.net/charlescarver/u2VY5/2/

于 2012-09-06T01:07:43.867 に答える
0

このフィドルをチェックしてください.. 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());
        });

    });
});​
于 2012-09-06T01:56:23.330 に答える