【发布时间】:2012-02-24 17:33:04
【问题描述】:
好吧,另一个愚蠢的 jQuery 问题...
jQuery 中的not 选择器给我带来了问题。 我正在尝试选择除具有给定类 toggle-button 的第一个元素之外的所有元素。但我可以与控制台进行此对话...
? $('.toggle-button').length
4
? $('.toggle-button:not(:eq(0))').length
4
没有区别。但是……
? $('div').length
23
? $('div:not(:eq(0))').length
22
什么给了,雷西格?
为什么not 选择器在应用于类时会有不同的行为(似乎) - 我怎样才能以最惯用的 jQuery 方式进行选择?
:not(:first) 做同样的事情...
更新
感谢所有回复。这看起来是 jQuery/IE 合作伙伴关系中的一个错误。
解决方案...
$('.toggle-button').filter(':gt(0)')
$('.toggle-button').not(':first')
$('.toggle-button').slice(0);
...毫无疑问还有更多。我会把它留给疯狂的人来确定哪个是最好的:D
【问题讨论】:
-
为我工作jsfiddle。也许您的代码中还有其他东西阻止了预期的行为。
-
@DidierGhys 谢谢,看起来这是一个 Internet Exploder 问题 (:O),因为它适用于我的 Chrome,但不适用于 IE....
标签: jquery html dom cross-browser selector