【发布时间】:2012-10-11 09:49:37
【问题描述】:
在这里尝试组装一个相当复杂的 jQuery 选择器,但遇到了麻烦。
本质上,我试图抓住所有锚点,即 1) 没有“facebox”的“rel”,和 OR 2) 没有以“mailto”开头的“href”。
这是我一直在尝试做的:
$('a[rel!=facebox], a[href!^="mailto"]')
这种小变化似乎不起作用。有没有更好的方法来解决这个问题?
这些选择器似乎可以单独工作,但在连续坐在同一个选择器中时却不行:
$('a:not([rel=facebox]), a:not([href^=mailto])')
最终解决方案:我们赢了!
$('a:not([rel=facebox],[href^=mailto])')
【问题讨论】:
-
奇怪的是,$('a:not([rel=facebox]') 和 $('a:not([href^=mailto]') 工作正常,但不是都用逗号分隔.
-
这是因为逗号将它后面的对象添加到 jQuery 对象中,有效地选择除了具有 rel=facebox 和 href 的节点之外的所有节点。
标签: jquery