2011-12-13 15 views
7

Nie jestem pewien, czy „concatenate” jest prawidłowe określenie dla niego, ale coś takiego:Selektor połączeń w jQuery?

$("#a").$("#b").$("#c").$("#d").click(); // click on all of them 

Zasadniczo mam długą listę rzeczy, ale nie mogę zastosować klasę do nich.

+2

Twój przykładowy kod mówi "znajdź element #a, znajdź element #b wewnątrz #a, a następnie znajdź #c wewnątrz #b i #d wewnątrz #c". Phrogz ma rozwiązanie poniżej. –

Odpowiedz

16

Jak in CSS, można użyć przecinka, aby oddzielić multiple selectors:

$("#a, #b, #c, #d").click(); 

Zauważ, że te nie muszą być tego samego rodzaju selektora. Na przykład:

// Click the menu, all spans in all .foo, and paragraphs after headers 
$("#menu, div.foo span, h1 + p").click(); 

Ponadto, jeśli już mieć obiekty jQuery, można add() zestawy tak:

var a = $('#a'), b = $('#b'), c = $('#c'); 
var all = a.add(b).add(c); 
+0

Użyłem Twojego rozwiązania .add.add, ponieważ uważam, że ciąg nie jest elegancki. Dzięki! – Bill

4
$("#a, #b, #c, #d").click(); 

To się nazywa :-D

1

zrobić przecinek

$("#a,#b,#c,#d").click() 
+0

@Phrogz: Tak. To była literówka pośpiechu. Właśnie to poprawiłem. – Shyju

2

Można łączyć selektory, używając przecinka (,). Spróbuj tego.

$("#a,#b,#c,#d").click();