2016-05-04 5 views
1

ein Formular mit mehreren div s enthalten Formularelemente Given (input, textarea, select), was die knappste Art und Weise der Auswahl der input, textarea und select innerhalb der gegebenen div IDs sein würde?jQuery-Selektoren: prägnant alle Formularelemente in mehreren Containern auswählen?

Fiddle: https://jsfiddle.net/2rvxt5v7/4

Ich weiß, die ungültige jQuery-Syntax ist, aber vielleicht wird dies demonstrieren, was ich versuche zu tun (die Elemente innerhalb area1 und area3 auswählen, ohne die in area2 Auswahl):

Ich bemerke, es gibt Bibliotheken da draußen, die eine reguläre Ausdrucksmethode von Selektoren hinzufügen, aber ich möchte eine native jQuery Methode, dies zu tun. Vorzugsweise ohne Verwendung von .filter().

Antwort

2

Verwenden Sie :input Selektor.

$('#area1 :input, #area3 :input').css('background','yellow') 

Wählt alle input, textarea, select und button Elemente.

Updated Fiddle

Beachten Sie, dass dies auch <button> Elemente auswählen wird, wahrscheinlich nicht das, was Sie wollen.


Die Knopfelemente können mit not() und :button Selektor ausgeschlossen werden.

$('#area1 :input, #area3 :input').not(':button').css(... 
+0

Ah gute finden - nicht realisieren, es gab: Eingabe. Ich kann leicht ein: Tasten nicht ausschließen. Das könnte funktionieren, danke! – psynnott

+0

Danke für die Aktualisierung der Geige - Ihre Lösung ist ideal – psynnott

+0

@psynnott Willkommen. Freut mich, dass geholfen hat. :) – Tushar