jQuery从特定ID中删除特定元素

4

I have 2 div like this:

<div id="container1"><input class="1"><input class="2"></div>

<div id="container2"><input class="1"><input class="1"><input class="2"></div>

现在,我该如何删除container2中所有class="1"的元素。

我注意到你的所有输入标签都没有关闭,应该是<input class="1" /> - The Muffin Man
@Nick:如果您不需要验证XHTML,则<input>是可以的。 - user113716
1个回答

16

这应该就可以了。

$('#container2 .1').remove();

这段代码会查找具有id为"container2"的元素下所有属于名为"1"的class的后代元素,然后将它们从文档对象模型(DOM)中移除。


我的建议是:$('#container2 input.1').remove()。也许事情已经改变了,但我认为在类选择器的情况下,添加标签可以提高性能。 - Radu
+1,但需要注意的是,这种做法假定您想要删除class=1元素及其所有子元素。 - Marc
从技术上讲,他说“删除所有class =”1“”,而不仅仅是输入元素,尽管在他的示例中它们是相同的。我也不确定后代选择器是否可以以同样的方式进行优化。但总的来说,我同意你的看法。 - Jamie Treworgy
1
“以及它们的所有子元素” - 我通常假设删除一个元素意味着同时删除它的子元素,因为不这样做在大多数情况下可能会产生非常奇怪的后果。 - Jamie Treworgy

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