1

クライアント用の特別な検証コードを書き込もうとしています。jquery の find 関数で複数のセレクターをつなぎ合わせたいのですが、これは可能ですか?

たとえば、現在表示されているフィールドセットで、type=text でクラス「-required」を持つすべての入力フィールドを見つけ、クラス「-required」を持つすべての textarea フィールドも見つけようとしています。 .

私はこれを試していますが、機能していません.Textareaフィールドのみを選択します

var reqButEmpty = $('fieldset:visible')
.find('input[type="text", class*="-required",textarea[class*="-required"]')
.filter(function()
4

2 に答える 2

4
var reqButEmpty = $('fieldset:visible')
 .find('input[type="text"].-required, textarea.-required')....

あなたにはいくつかの間違いがありました:

  • 属性セレクターを終了していません:[type="text", ...
  • 、型クラスの要素 ( ) class*=を探しています<class>
  • クラス セレクターが必要な場合は、プレフィックスとしてドットを付けます。

アップデート:

var reqButEmpty = $('fieldset:visible')
 .find('input[type="text"], textarea').filter(function(){
     return this.className.indexOf("-required") >= 0;
 });

または@cliffs of insanity で提案されているように:

var reqButEmpty = $('fieldset:visible')
 .find('input[type="text"], textarea').filter('[class*="-required"]');
于 2012-05-13T01:30:55.503 に答える
3

できますが、試みている方法ではできません

.find('input[type="text"][class*="-required"],textarea[class*="-required"]')

「and」動作を得るために、同じ要素セレクターで 2 つの別個の「属性」セレクターを使用します。

次に、,複数セレクターを使用して、の「または」動作を取得しtextareaます。

-requiredまた、それはクラス名の一部であり、全体ではないと想定しています。HTML リファレンスが役立ちます。

于 2012-05-13T01:31:47.143 に答える