2016-11-27 17 views
-3

私のような何かをしたい:jqueryセレクタで具体的な要素を取得するには?

if($(this).hasClass("playButton")) 
    { 
     $(this).find("li").removeClass("active"); 
    } 

しかし、その代わりに「これ」の文は、私がどのクラスセレクタを使用したい「場合」でのを。しかし、具体的なDOM要素を取得する方法はわかりません。これは条件に対応しています。 だから私は必要があります。

if($(.anyClass).hasClass("playButton")) 
    { 
     $(current element, which corresponds to 
     if condition).find("li").removeClass("active");    
    } 
+1

** [jQuery APIのドキュメント](http://api.jquery.com)を読んで**貴重な時間です**。最大で1時間しかかかりません。いくつかのチュートリアルを調べて、一般的にいくつかの研究を行う価値があります。 –

+0

そのための変数を宣言することができます。 'var current = $(this).hasClass(" playButton ")'のように。 – Aer0

答えて

1

".anyClass"セレクタを使用して要素を選択し、eachを使用して要素を反復することができます。 eachのコールバック関数では、thisは現在のDOM要素を参照します。

$(".anyClass").each(function() { 
    if ($(this).hasClass("playButton")) { 
    $(this).find(".btn").removeClass("playButton");    
    } 
}); 

ただし、この特定のシナリオでは、eachを使用せずに目標に達することができます。彼の答えで提案された@Derek朕會功夫のように、要素を直接ターゲットにして操作するだけです。

$(".playButton li").removeClass("active"); 
+2

'.each'呼び出しはまったく必要ありません。 – undefined

+0

はい、この特定の場合です。しかし、ポストは技術的な質問をしました。私はそれに答えました。 –

+0

"投稿は技術的な質問(回答)を求められました"。まあ、私はそうは思わない、私は技術的な問題であるとは考えていない。質問は、彼/彼女はDOM/jQueryの基礎を理解しておらず、混乱した質問をしていることを示しています。 – undefined

2
$(".playButton li").removeClass("active"); 

...?

+0

答えはそのような単純なものでなければなりません。 – undefined

+0

確かにこれは同等ですが、これは私の意見では直接質問に答えることはできません。 –

+0

@ZoltánTamásiもしそれが同等であれば、それはまったく同じ一連の問題を解決することを意味します。 –

関連する問題