提问者:小点点

遍历每个h2并将它们的值按顺序追加到另一组div


我有个问题。

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

我可以使用eq或其他东西,然后遍历每一个,但这不是理想的,因为在任何给定时间divs的数量都可能是多的或少的,我只需要回去调整js来调整divs的数量。

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

感谢任何帮助。

小提琴示例

谢谢


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

还是希望divs与h2s的数目始终相同?

匿名用户

您还可以将第一个列表克隆()到第二个列表,因为它们共享相同的.item类:

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

http://jsfidle.net/charlescarver/u2vy5/2/

相关问题