appendTo不能在jQuery代码中工作?

时间:2012-07-17 15:22:47

标签: jquery css

我正在尝试使用id选择器将一个段落添加到h2标记中。但是,由于某种原因,它无法正常工作。有人会帮我这个吗?

我有一个小提琴,我做了尝试。请参阅:http://jsfiddle.net/ahLqZ/4/

以下是我的代码:

 $(document).ready(function(){

        $("#cevre h2").appendTo($(this).next("p"));

    })​

1 个答案:

答案 0 :(得分:4)

试试这个:

$("#cevre h2").each(function() {
     $(this).appendTo($(this).next("p"));
});

使用.each()迭代h2元素 - 然后$(this)成为每个h2元素,而不是document元素

Working example here

注意在现有的DOM元素上使用appendTo移动它...你可能想要的(可能不是)是这样的:

$("#cevre h2").each(function() {
     $(this).clone().insertAfter($(this).next("p"));
});

使用.clone()首先创建h2.insertAfter()的克隆,以便在<p>元素之后插入新克隆的DOM元素,而不是在其中... < / p>

Working example here

另一个注意事项 - 在单个页面中具有重复id属性的无效HTML ...我建议您将<div id="cevre">更改为<div class="cevre"> ..然后你的jQuery选择器变成$(".cevre h2")

另一个注意事项 - 如果jQuery对象被多次使用,你应该缓存它们:

$(".cevre h2").each(function() {
     var $this = $(this);
     $this.clone().insertAfter($this.next("p"));
});