gpt4 book ai didi

jquery - 为什么 jQuery 的 remove() 方法接受选择器?

转载 作者:行者123 更新时间:2023-12-01 03:12:31 26 4
gpt4 key购买 nike

在使用 jQuery 中的 remove 时,我注意到了一件奇怪的事情。尽管 jQuery 明确指出:

selector
Type: String
A selector expression that filters the set of matched elements to be removed.

如果您尝试此代码:

$element.remove('.k-grouping-header,.k-group-cell,.k-group-col,.k-grouping-row');

它不会按预期工作,你必须使用

$element.find('.k-grouping-header,.k-group-cell,.k-group-col,.k-grouping-row').remove();

你们也注意到了还是只有我做错了?JSFiddle:http://jsfiddle.net/YzfRT/

最佳答案

remove() 将从 DOM 中选择的所有元素取出,无论您是否传递参数。

将参数(选择)传递给 remove() 将过滤这些元素以匹配该选择。

大概在第一个例子中,您选择了您的 parent 。 remove() 会尝试删除此元素,但因为它(可能)与 .k-grouping-header,.k-group-cell,.k-group-col 不匹配,.k-grouping-row 它将保留在原来的位置。

您的困惑可能来自于不理解过滤查找之间的区别

您的第二次尝试是正确的。

为什么要允许选择器?
主要用于链接。考虑一下您选择了许多元素来调用 jQuery 方法,也许您想更改颜色:

$('div').css({color:"#F00"})

但是您只想删除具有 .remove 类的内容?您仍然可以链接并过滤要删除的内容:

$('div').css({color:"#F00"}).remove('.remove')

顺便说一下,它的作用与:

$('div').css({color:"#F00"}).filter('.remove').remove()

JSFiddle

关于jquery - 为什么 jQuery 的 remove() 方法接受选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com