109

input type=text基本的にすべての要素を次のように選択するコードを書きました。

$('.sys input[type=text]').each(function () {}

input[type=text]selectまたはに変更するにはどうすればよいselectですか?

4

4 に答える 4

197

通常の CSS セレクターを使用する:

$('.sys input[type=text], .sys select').each(function() {...})

繰り返しが気に入らない場合:

$('.sys').find('input[type=text],select').each(function() {...})

または、より簡潔に言えば、context引数を渡します。

$('input[type=text],select', '.sys').each(function() {...})

注:内部的に上記を同等jQueryのものに変換しますfind()

http://api.jquery.com/jQuery/

内部的には、セレクター コンテキストは .find() メソッドで実装されるため、$('span', this) は $(this).find('span') と同等です。

個人的には、最初の選択肢が最も読みやすいと思います:)、あなたの意見ですが

于 2012-05-18T09:16:38.383 に答える
7
$('.sys').children('input[type=text], select').each(function () { ... });

編集:実際には、上のコードは、@NiftyDude によって指定されたオプションを使用する必要が.sys > input[type=text]ある子孫の選択 ( ) が必要な場合、子セレクターと同等です。.sys input[type=text]

詳しくは:

于 2012-05-18T09:16:47.880 に答える
3
$('input[type=text],select', '.sys');

ループの場合:

$('input[type=text],select', '.sys').each(function() {
   // code
});
于 2012-05-18T09:17:36.007 に答える