什么是jQuery的替代品(':not(selector)')?

时间:2012-03-02 20:49:10

标签: javascript jquery

什么是jQuery 替代不是(':not(selector)')?

基本上可以这样说:

var buttons = $('a.buttons');

我正在寻找一个特殊的按钮,其中href为'#measurement',需要为其添加一个类。我知道如何做到的唯一方法是使用not(':not(selector)')。

buttons.not(':not([href="#measurement"])').addClass('selected');

必须有更好的方法。

.is() // returns boolean
.has() // looks for items inside each element

那里有什么东西?

3 个答案:

答案 0 :(得分:4)

2 not s取消,你得到

$('a.buttons[href="#measurement"]').addClass('selected');

文档:http://api.jquery.com/category/selectors/attribute-selectors/

编辑:如果您已有收藏品,请使用.filter

var buttons = $('a.buttons');
buttons.filter('[href="#measurement"]').addClass('selected');

答案 1 :(得分:3)

我相信你想要filter

$elements.filter(selector)

所以如果你已经

var $buttons = $('a.buttons');

你可以通过

找到合适的人选
var $theButtonIWant = $buttons.filter('[href*="#measurement"]');

答案 2 :(得分:1)

var button = $('a.buttons[href*="#measurement"]').addClass('selected');

[]块允许您指定属性。其中的* =运算符指定该属性包含带引号的文本。