jquery検索を再度実行しないでjquery要素配列をさらにフィルタリングするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1616293

  •  06-07-2019
  •  | 
  •  

質問

次のコードを考えると、クラスを追加する行で再実行せずに、最初のjQueryセレクターによって作成された変数divを使用するにはどうすればよいですか?

だから、これを考えると:

var divs = $("div.searchhit");

//ここでdivs.lengthを使用したその他のコード     divs.removeClass(" selected");     $(" div.searchhit:eq(0)")。addClass(" selected");

最終行を次のように表示するにはどうすればよいですか:

divs(":eq(0)").addClass("selected");
役に立ちましたか?

解決

eq()メソッドを使用するだけです。

divs.eq(0).addClass('selected');

他のヒント

可能な答えの1つは次のとおりです:

divs.filter(":eq(0)").addClass("selected");

jQueryのドキュメントをお読みください。これは十分にカバーされています。

それは私にとって少し簡潔でした。ここで簡単な説明:

jQuery(query)は、DOMのルートから検索する主要なフィルターです。後続のクエリは、結果セットで実行され、そのセットで開始されます。展開操作が実行されない場合(たとえば、以前に一致したノード内の子を表示する場合)、結果のクエリには以前のクエリと同じ数の要素を含めることができます。

たとえば、子要素でフィルタリングする代わりに子要素を選択する場合は、次を使用します。

$('tr').children('td')
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top