1

我对 jQuery 中过滤的工作方式有点困惑。显然,这两行是不同的:

$('svg').filter('.woah')
$('svg[class=woah]')

为什么会这样?这是我制作的一个简单的 jsFiddle:http: //jsfiddle.net/8MLRE/4/

4

2 回答 2

0

第一个可能扮演后置过滤器的角色,例如你有 10 个元素并想继续使用some_filter_here.

第二个是一个简单的选择器。

http://jsfiddle.net/8MLRE/10/

所以,$('svg')你会得到 3 个元素,然后用一些选择器过滤它们,[class=woah]所以剩下一个。与$('svg[class=woah]')您同在,即刻获得。

jQuery 过滤器

于 2012-08-02T00:06:34.500 回答
0

第一个获取所有svg元素,然后使用 filter 函数过滤它们并返回具有 class 的元素woah。我认为这是一项开销,因为此功能可以在一次调用中完成。

第二个做同样的事情,但使用他的属性选择器。最后一个更好,因为它只使用一个函数调用。但这是获取所有svg元素的更好方法 class woah

相信你想达到$('svg.woah')

于 2012-08-02T00:07:31.780 回答