2012-03-02 12 views
2

jQuery 代替とは何ですか( ':not(セレクタ)')?私は「#measurement」などのhrefを持つ特定のボタンを探していますjQuery以外のもの( ':not(セレクタ)')には何がありますか?

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

をし、それにクラスを追加する必要があります。

は、基本的にこれを言うことができます。私がこれを行う方法を知っている唯一の方法は、not( ':not(selector)')である。

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

さらに良い方法があるはずです。

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

何かありますか?

答えて

3

私はあなたがfilterをしたいと考えている:

$elements.filter(selector) 

すでに

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

を持っている場合ので、あなたはポイントがありません

var $theButtonIWant = $buttons.filter('[href*="#measurement"]'); 
+1

質問を正しく理解するための+1: –

+0

ありがとうございました。わからないどのように私はそれを逃した。 – iambriansreed

+1

心配はいりません。 jQuery APIはそれほど正確ではありません。 :p – Amadan

4

2つのnot sが相殺され、あなたが

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

ドキュメントを取得:あなたはすでに.filter

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

ことで正しいものを得ることができます - 彼はすでに彼を前提としていコレクションを持っています。 – Amadan

+0

正確です。あなたはその点を逃した。 – iambriansreed

+0

@iambriansreed:どうですか? :-P –

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

使用し、コレクションを持っている場合:http://api.jquery.com/category/selectors/attribute-selectors/

EDITを[]ブロックでは、属性を指定できます。その中の* =演算子は、属性に引用符で囲まれたテキストが含まれることを指定します。

+1

もちろん、前述のRocketのように、href属性が#emasurementに設定されている場合は、単に例の*を省略することができます。 – Brian

+2

ポイントがない - 彼はすでにコレクションを持っていると仮定しています。 – Amadan

+0

この男はあまりにもポイントを逃した。 – iambriansreed

関連する問題