我正在尝试编写一些jquery,它在div(.content)中找到所有h2标签,然后将每个标签附加到另一个div(.intro)中。
到目前为止,我有这个:
var h2 = $(".content").find("h2");
$(h2).each(function() {
$(this).append(".intro");
});
但它没有用......如果有人可以帮助我,那就太棒了:)。
答案 0 :(得分:5)
试试这个:
var h2 = $('h2', '.content');
$('.intro').append(h2);
无需使用each()
。 jQuery有一个叫做“隐式迭代”的东西,你可以立即对整个集合进行操作。所以你可以全部抓住它们,并同时将它们全部附加。
或者你想附上一份副本吗?
如果是,请尝试:
var h2 = $('h2', '.content');
$('.intro').append(h2.clone());
修改强>
或使用单行版本:
$('.intro').append($('h2', '.content').clone());
(当然,如果您不需要复制它们,请删除.clone()
。)
答案 1 :(得分:2)
我认为您正在寻找appendTo方法。
var h2 = $(".content").find("h2");
$(h2).each(function() {
$(this).clone().appendTo($(".intro"));
});
修改:注意到appendTo
正在移动h2
代码,因此不希望这样做,将调用添加到clone()
。
答案 2 :(得分:2)
可以使用children(),类似......
$('.content').children('h2').each(function() {
$(this).appendTo($('.intro'));
});