1. ホーム
  2. jquery

[解決済み] jQueryのセレクタに複数のパラメータを指定できますか?

2022-08-30 06:06:49

質問

jQueryUIのボタンプラグインを見ていて、以下のことに気づきました。

$("button, input:submit, a", ".demo").button();

このようなものは見たことがありません。これは、1つのjQueryセレクタで複数の選択をするようなものでしょうか?

どのように解決するのですか?

第2引数( ".demo" の例では) は コンテキスト の子孫にのみマッチするように制限されています。 コンテキスト :

$(expr, context)

を使うのと同じです。 find メソッドを使うのと同じです。

$(context).find(expr)

のドキュメントを見てください。 jQuery関数 :

セレクターコンテキスト

デフォルトでは、セレクタは DOM 内を検索し、ドキュメントルートを起点に で検索を行います。しかし を使うことで、別のコンテキストを指定することができます。 のオプションの第二パラメータを使用することで、 検索に別のコンテキストを指定することができます。 パラメータで指定します。 $() 関数で指定します。例えば 例えば、コールバック関数の中で で、ある要素の検索を行いたい場合。 その検索を制限することができます。

$('div.foo').click(function() {
  $('span', this).addClass('bar');
  // it will find span elements that are
  // descendants of the clicked element (this)
});

また、投稿したセレクタが "button, input:submit, a" という名前の マルチプルセレクタ と呼ばれ、コンマで区切るだけで、1つの結果に結合するセレクタをいくつでも指定できます。