/ / कक्षाओं की सूची से मेल खाते किसी भी इनपुट का चयन कैसे करें? - jquery, jquery- चयनकर्ता

कक्षाओं की सूची से मेल खाने वाले किसी भी इनपुट का चयन कैसे करें? - jquery, jquery-selectors

यह कोड मेरी आवश्यकता के अनुसार काम करता है:

$("input[class="plus"], input[class="minus"]").mousedown(function () {
//..doing something
});

जो मैं चाहता था वह कुछ इस तरह है:

$("input[class="plus minus"]").mousedown(function () {
//..doing something
});

या पसंद है:

$("input[class="plus"][class="minus"]").mousedown(function () {
//..doing something
});

चयनकर्ता को किसी भी इनपुट का चयन करना चाहिए plus वर्ग या minus.

वहाँ कुछ अन्य वाक्यविन्यास होना चाहिए, लेकिन मुझे पता नहीं है।

उत्तर:

उत्तर № 1 के लिए 1

मैं सिफारिश करता हूं:

$("input.plus, input.minus").mousedown(function () {
//..doing something
});

... इतना है कि आदानों पर अन्य वर्गों "आप उन्हें छोड़ नहीं है। यदि आप विशेषता का चयन चयनकर्ता (आपके) के बराबर है input[class="plus"]), यह केवल मैच होगा अगर केवल पर वर्ग input है "plus"। तो यह मैच होगा <input class="plus"> लेकिन नहीं <input class="plus foo">। आम तौर पर आप तत्व पर अन्य वर्गों के होने का लचीलापन चाहते हैं।

वैकल्पिक रूप से, आप सकता है यह करो:

$("input").filter(".plus, .minus").mousedown(...);

... लेकिन यह कम कुशल होने की संभावना होगी: सबसे पहले यह jQuery को देखेगा सब input तत्वों, और फिर अलग से उन वर्गों के साथ परिणाम को फ़िल्टर करें। तो मैं यह सिफारिश नहीं करेंगे।


उत्तर № 2 के लिए 1

सही सिंटैक्स कॉमा का उपयोग करके चयनकर्ताओं को अलग करने के लिए इंगित करता है, लेकिन चयनकर्ताओं को इस तरह लिखा जाना चाहिए:

$("input.plus, input.minus").mousedown(function () {
//..doing something
});

अंतिम विकल्प के रूप में आप उपयोग कर सकते हैं .add:

$("input.plus")
.add($("input.minus"))
// possibly add more elements here
.mouseover(...);

उत्तर № 3 के लिए 1
$("input.plus, input.minus").mousedown(function () {
//..doing something
});

उत्तर के लिए 1 № 4

मैं बंधन के लिए जाऊंगा

$onInputMouseDown = function() {
....
}

$(".plus").bind("mousedown",$onInputMouseDown);
$(".minus").bind("mousedown",$onInputMouseDown);