0

他の多くのaクラス要素とともに、マークアップとのリンクがあります

<a class="editLink" href="www.somelink.com"> Edit <\a>

aそして、このeditLinkクラスの要素を除いて、jQuery を使用してすべての要素を選択したいと考えています。

だから私はa.not(".editLink")正常に動作するjQueryセレクターに使用しました。a.not("editLink")ただし、これは私が行ったときにも機能することに気付きましたa.not("#editLink")

not()メソッド引数の一部として渡された CSS を jQuery が無視するようです。ドキュメントは、id/class CSS を渡す必要があることを示唆していますが、私が知る限り、それは不要です。

誰でもこれに光を当てることができますか?私は愚かですか、それとも何か魔法が起こっているのでしょうか?

ありがとう


更新 - 構文に誤りがあると思います。やっていた:

$("p, a.not(".editLink")").click()...

あるべき時

$("p, a").not("a.editLink").click()...

だから私の悪い。editLink興味深いことに、オリジナルはクラス内の要素とは別にすべての a 要素を選択していました。

ご協力いただきありがとうございます :)

4

2 に答える 2

1

セレクター文字列が必要です。"editLink"という要素を表すセレクター文字列として扱っているだけですが<editLink>、明らかにあなたの<a>要素はそうではありません。

したがって、コードはa.not("editLink")「機能します」...期待どおりではありません。その名前のクラスを持たない要素を除外する代わりに、<a>要素が<editLink>要素ではないため、何もしません。また、どの<a>要素にもその名前の ID がない場合は、同じことがa.not("#editLink").

于 2012-09-27T12:12:55.040 に答える
-1

次のように CSS を使用することもできます。$('a:not(.editLink)')

于 2012-09-27T12:10:42.980 に答える