jQuery中的“追加”相反操作是什么?

84

我使用 .append 将内容添加到一个 div 元素中。

$(this).append('<ul><li>test</li></ul>');

如何搜索 <ul> 并在 $(this) 的子元素中存在它时将其删除?

6个回答

92
你可以使用remove()。更多信息请参考jQuery remove()
$(this).children("ul").remove();
请注意,这将删除所有子元素为 ul所有 元素。

我想将一个元素(div)提取到一个变量中。我该怎么做? - Prasanth Jaya

27
.append()的相反操作是.prepend()。 从jQuery的prepend文档中可以得知:

.prepend()方法将指定内容插入到jQuery集合中每个元素的第一个子元素位置(要将其插入为最后一个子元素,请使用.append())。

我意识到这并没有回答OP的具体情况,但它确实回答了问题标题。:)并且它是Google搜索“jquery opposite append”的第一个结果。

1
回答我的问题。 "append 的反义词是什么" - Chris Marisic

18

使用remove()方法:

$(this).children("ul").remove();

14

另外需要考虑的是,保留对所创建元素的引用,这样你就可以轻松地有针对性地删除它:

   var newUL = $('<ul><li>test</li></ul>');
   $(this).append(newUL);

   // Later ...

   newUL.remove();

你能再解释一下吗? - Shamseer Ahammed
@ShamseerAhammed 你不明白什么? - RoToRa

10

刚遇到了同样的问题,我发现了这个解决方法——实际上对我很管用:

// $("#the_div").contents().remove();
// or short: 
$("#the_div").empty();
$("#the_div").append("HTML goes in here...");

1
我相信.contents().remove()等同于.empty() - pimvdb
2
我不确定你是否了解链式调用——以防万一,你可以在jQuery中像这样组合语句:$(...).empty().append(...) :) - pimvdb

5

与其相反的是children(),但位置相反的是prepend()

这里有一个非常好的教程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接