我有个问题。
我如何在它们的div中遍历每个h2,获取它们的文本值,并按照它们出现在另一侧的顺序将其添加到另一组div中?
我可以使用eq或其他东西,然后遍历每一个,但这不是理想的,因为在任何给定时间divs的数量都可能是多的或少的,我只需要回去调整js来调整divs的数量。
在本例中,我还没有做过任何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
将保留为空,太少的div
也不是问题。.eq
将始终返回jQuery对象,即使具有该索引的元素不存在。然后,对.text
的调用将被静默忽略。
还是希望div
s与h2
s的数目始终相同?
您还可以将第一个列表克隆()
到第二个列表,因为它们共享相同的.item
类:
$('.wrap .item').clone().appendTo('.wrap-two');
http://jsfidle.net/charlescarver/u2vy5/2/