1

我有个问题。

我将如何遍历其 div 中的每个 h2,获取其文本值并将其附加到另一组 div 中,以便它们出现在另一侧?

我可以使用 eq 或其他东西并遍历每一个,但这并不理想,因为任何给定时间的 div 数量可能或多或少,我只需要返回并调整 js 以调整数量分区。

在这个例子中我还没有完成任何 js,只是因为我不确定如何处理这个问题。

任何帮助表示赞赏。

小提琴示例

谢谢

4

3 回答 3

2

我认为 using.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 将被留空,太少div的 s 也不是问题。.eq将始终返回一个 jQuery 对象,即使具有该索引的元素不存在。然后,对的调用.text将被默默地忽略。

或者你想总是有尽可能多divh2s 吗?

于 2012-09-06T01:05:38.120 回答
0

您也可以clone()从第一个列表到第二个,因为它们共享同一个.item类:

$('.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 回答