2012-09-25 13 views
12

में चयनकर्ताओं का उपयोग करना संभव है, मुझे आश्चर्य है कि क्या मैं उन पर फ़ंक्शन चलाने से पहले $ (इस) के साथ-साथ कक्षा चयनकर्ता का उपयोग कर सकता हूं।

तो ऐसा करने के बजाय;

$(this).toggleClass('open'); 
$('.closed').toggleClass('open'); 

कुछ और पसंद करें;

$(this, '.closed').toggleClass('open'); 

वास्तव में जबकि, ऊपर 'इस' '.closed'

सादर के संदर्भ में, भीतर

+0

मेरे (हटाए गए) उत्तर को अनदेखा करें, गलत प्रश्न पूछें। – SpaceBison

उत्तर

21

आप add() उपयोग कर सकते हैं का चयन करेंगे:

$(".closed").add(this).toggleClass("open"); 

यह जोड़ना होगा मिलान किए गए तत्वों के सेट पर this तत्व (यानी .closed)।

+1

उत्कृष्ट उत्तर, +1 :) इसके अलावा, अगर तत्व आईडी है, तो आप ऐसा कुछ कर सकते हैं। (मैंने आपका दृष्टिकोण जानने से पहले यह किया होगा) '$ ('#' + this.id + ',closed')। टॉगल क्लास ('खुला');' – Jashwant

+0

मैं सामान्य रूप से जशवंत के समाधान का उपयोग करता था, लेकिन मैं इसे काफी बदसूरत लगता है। VisioN के लिए .. मुझे यह पसंद है! कोई विचार है कि उन दो समाधानों में से कौन सा तेजी से है? – Joel

+1

@ जोएल उन्हें लगभग एक ही गति चलाना चाहिए। हालांकि, [जेएसपीआरएफ शो] (http://jsperf.com/add-vs-multiselector) कि 'add() 'समाधान एकाधिक चयनकर्ता से थोड़ा धीमा (4%) धीमा है। हर तरह से, 'add') का उपयोग करना jQuery तत्वों के सेट में 'this' को जोड़ने का एकमात्र तरीका है। – VisioN

संबंधित मुद्दे