阅读文档,我希望$("#wrap2").remove(".error")
从. 但是看看这个 JSFiddle: http: //jsfiddle.net/hCGUS/似乎不是这样?.error
#wrap2
$(function() {
$("#wrap1 .error").remove(); // works
$("#wrap2").remove(".error"); // fails ...
})
阅读文档,我希望$("#wrap2").remove(".error")
从. 但是看看这个 JSFiddle: http: //jsfiddle.net/hCGUS/似乎不是这样?.error
#wrap2
$(function() {
$("#wrap1 .error").remove(); // works
$("#wrap2").remove(".error"); // fails ...
})
正如文档所述,要删除的选择器参数是
筛选要删除的匹配元素集的选择器表达式。
第一个示例是您应该使用什么来删除error
id 元素中包含的class 元素wrap1
。
第二个示例将找到具有 id 的元素wrap2
,然后为具有 class 的元素过滤该集合error
,并删除这些元素。也就是说,它只会删除匹配的元素#wrap2.error
。
文档说,在传递参数时,它充当被调用的包装集上的过滤器,所以如果你有一个 jQuery 集,但只想删除集中的一些元素,你可以将选择器传递给只删除那些。
根据 jQuery 文档。我认为
$("#wrap2").remove(".error");
等于:
$("#wrap2.error").remove();
表示一个元素有 idwrap2
和 classerror
基于 x1a4 的答案,$("wrap2")
仅包含一个元素,而不包含其任何子元素。如果你这样做了:
$("wrap2 *").remove(".error")
它的性能与您的工作版本相同。
请使用 removeClass 而不是 remove
$("#wrap2").removeClass("error");