2013-08-29 7 views
21

w jQuery, wybierając więcej niż jeden element można zrobić tak:Jak używać wielu zmiennych obiektu jQuery jako selektorów?

$("#id1,#id2").show(); 

Ale kiedy mam dwa obiekty jQuery, nie wydają się być w stanie wybrać więcej niż jeden używając samych zmiennych. Na przykład:

var jqId1 = $("#id1"); 
var jqId2 = $("#id2"); 
$(jqId1).show();  // This works. 
$(jqId1,jqId2).show(); // This only shows jqId1. 

See jsFiddle: http://jsfiddle.net/jr9Q2/

Czy istnieje inny sposób określania wielu zmiennych jq jako selektorów?

+0

czek ten http://jsfiddle.net/jr9Q2/4/ –

Odpowiedz

43

Można użyć add:

jqId1.add(jqId2).show(); 

Ale nie rób kod zbyt skomplikowane, żeby uniknąć zapytań "#id1,#id2": selektor ten opiera się na getElementById i jest bardzo szybki.

+0

dzięki. Chciałem uniknąć powtarzania łańcucha selektora, ale oczywiście może on przejść do zmiennej, jeśli jest to najbardziej efektywny sposób. –

+1

Mogłem być niejasny: używanie '$ (" # id1, # ​​id2 ")' nie jest najbardziej efektywnym sposobem. Chciałem tylko wskazać, że nie powinieneś się martwić o występy tutaj, ale powinieneś użyć tego, co sprawia, że ​​twój kod jest czytelny i prosty. –

+1

Jeszcze raz dziękuję. Właśnie odkryłem właściwość 'selector', więc teraz jest to' $ (jqId1.selector + ',' + jqId2.selector) '. :) –

Powiązane problemy