(के लिए नीचे देखें क्यों आप वास्तव में क्या सवाल में कहा है नहीं करने के लिए चाहते हो सकता है)
आप [class="a"]
, "विशेषता चयनकर्ता के बराबर है" हालांकि यह भंगुर है इस्तेमाल कर सकते हैं:
$('span[class="a"]').hide();
समस्या यह है कि यदि आपके पास अपनी कक्षा विशेषता में कोई सफेद स्थान है तो यह टूट जाएगा। यह पहेली देखें: http://jsfiddle.net/c7DP7/
आप सामान्य वर्ग चयनकर्ता का उपयोग करके उन वस्तुओं पर मूलभूत क्वेरी करके इसे ठीक कर सकते हैं, फिर केवल a
सेट करते समय उन्हें फ़िल्टर करें (और उस दूसरे फ़िल्टर में व्हाइटस्पेस को ट्रिम करना)। इस बेला देखें: http://jsfiddle.net/uD48E/1/
$('.a')
.filter(function(index){
return $(this).attr("class").trim() == "a";
})
.hide();
प्रश्न की तरह यह है कि विशिष्ट दृष्टिकोण अधिक भंगुर है और अधिक "भविष्य सबूत" कोड बनाने की कोशिश कर रहा है, लेकिन लग रहा है। उन सभी वर्गों को अस्वीकार करना जो आपके द्वारा फ़िल्टर किए जा रहे मौजूदा वर्ग से संबंधित नहीं हैं, कारण a
से संबंधित नहीं हैं (जैसे एक असंबंधित वर्ग d
या e
जो बाद में जोड़े जाते हैं)। यह महत्वपूर्ण है यदि आप जिस HTML को अपना jQuery लागू कर रहे हैं उसे भविष्य में बदला जा सकता है।
ऐसा करने का एक बेहतर तरीका केवल कक्षाओं को फ़िल्टर करना है जो वर्ग a
के अर्थ को प्रभावित करते हैं। उस तरह की लचीलापन के लिए अनुमति देना वास्तव में आपके कोड को भविष्य के सबूत बनाता है। ऐसा करने के सर्वोत्तम तरीके के लिए maxedison's answer देखें।
स्रोत
2011-12-14 21:51:50
संक्षिप्त टिप्पणी: यदि नहीं, तो फ़ंक्शन निष्पादित आप फिल की तरह यहाँ है शब्द 'चयनकर्ता में span' शामिल करने के लिए नहीं है। यदि वहां divs या imgs हैं जिनके पास वांछित वर्ग हो और आप उन्हें '$ ("[class =' a ']") चुनने के लिए चुनना चाहते हैं। – maxedison
इस समस्या में यह है कि यदि विशेषता में कोई सफेद जगह है, तो यह टूट जाएगा।कक्षा चयनकर्ताओं में यह समस्या नहीं है। –