我想写一些jquery,它可以找到div(.content)中的所有h2标签,然后将每个标签附加到另一个div(.intro)中。jquery找到h2标签并追加到div
到目前为止,我有这样的:
var h2 = $(".content").find("h2");
$(h2).each(function() {
$(this).append(".intro");
});
但它不工作..如果有人可以帮助我,那简直太好了:)
我想写一些jquery,它可以找到div(.content)中的所有h2标签,然后将每个标签附加到另一个div(.intro)中。jquery找到h2标签并追加到div
到目前为止,我有这样的:
var h2 = $(".content").find("h2");
$(h2).each(function() {
$(this).append(".intro");
});
但它不工作..如果有人可以帮助我,那简直太好了:)
试试这个:
var h2 = $('h2', '.content');
$('.intro').append(h2);
无需使用each()
。 jQuery有一个叫做“隐式迭代”的东西,你可以一次处理整个集合。所以你可以抓住它们,并将它们全部附加在一起。
或者您是否想追加它们的副本?
如果是这样,请尝试:
var h2 = $('h2', '.content');
$('.intro').append(h2.clone());
编辑:如果您不
$('.intro').append($('h2', '.content').clone());
(当然,去掉.clone()
:
或者使用单行版本不需要复制它们。)
我认为你正在寻找的appendTo方法。
var h2 = $(".content").find("h2");
$(h2).each(function() {
$(this).clone().appendTo($(".intro"));
});
编辑:只注意到appendTo
被移动h2
标签,使柜面对于不需要的,添加了调用clone()
。
能使用儿童(),像...
$('.content').children('h2').each(function() {
$(this).appendTo($('.intro'));
});
,如果你想克隆或刚刚转会反正是不明确! – 2010-05-10 22:41:07
一个常见的错误是在不需要时使用'each()'。当你有一组元素时(比如你的'find()'结果),你可以一次调用集合上的函数,而不需要迭代元素并单独对每个元素进行操作。 – user113716 2010-05-10 22:47:16