2011-11-13 8 views
2

問題があります:汚れた要素の下にないクラスのすべての要素を取得したいと思います。ビューポートのコンテンツを更新するために使用されていると思います。 私のこれまでのところ:JQueryが下にないすべての要素を取得する

$(".dirty").not(".dirty .dirty") 

もっと良いアプローチがありますか?

答えて

1

最も簡単な方法は、jQuery :notセレクタを使用することです。あなたのケースでは

:ない(セレクタ)セレクタは 指定された要素/セレクタではありませんすべての要素にマッチする:notセレクタを説明する

$(".dirty:not(.dirty .dirty)").whatever(); 

Here's a jsFiddle

複雑なセレクタまたは変数をセレクタフィルタにプッシュするよりも、読み込み不能な を選択すると、.not()メソッドが終了します。ほとんどの場合、より良い選択です。

フィルタリングするセレクタ。

は、より良い理解のためW3SchoolsjQuery page上CSS3 :notセレクタを見てみましょう。

+0

ありがとうございます。 jsFiddleへのリンクのために、私はそれを知らなかったし、それは素晴らしいツールと思われる。 – Jadawin

2

Afaik、これはかなり良いアプローチです。あなたはしかし:not selector [docs]を使用することができます。利用可能な場合

$(".dirty:not(.dirty .dirty)") 

jQueryのは、直接ネイティブブラウザメソッドにこのセレクタを渡すことができます。

他の方法もあるかもしれませんが、必ずしも「より良い」(この場合はその意味であれ)とは限りません。

関連する問題