2011-02-15 13 views
141

से शुरू होने वाली सभी आईडी का चयन करने के लिए मैं उन सभी तत्वों का चयन कैसे कर सकता हूं जिनके id "player_" से शुरू होते हैं?jQuery या सीएसएस चयनकर्ता कुछ स्ट्रिंग

<div id="player_290x3dfda">text</div> 

हर id उस पर एक अनूठा टिकट दिया गया है:

मैं इस तरह से अधिक तत्वों की है। मैं उन सभी तत्वों का चयन कैसे कर सकता हूं, या तो jQuery या शुद्ध सीएसएस के साथ?

+5

इस http://api.jquery.com/attribute-starts-with-selector/ – Mahima

उत्तर

230

आम तौर पर आप आईडी चयनकर्ता # का उपयोग कर आईडी चुनने होगा, लेकिन और अधिक जटिल मैचों के लिए आप चयनकर्ता के साथ विशेषता-शुरू होता है-उपयोग कर सकते हैं (एक jQuery selector के रूप में, या एक CSS3 के चयनकर्ता के रूप में):

div[id^="player_"] 

हैं आप उस HTML को संशोधित करने में सक्षम हैं, हालांकि, आपको अपने प्लेयर div एस में कक्षा जोड़नी चाहिए, फिर उस वर्ग को लक्षित करें। आप आईडी चयनकर्ताओं द्वारा वैसे भी अतिरिक्त विशिष्टता खो देंगे, क्योंकि विशेषता चयनकर्ता वर्ग चयनकर्ताओं के समान विशिष्टता साझा करते हैं। इसके अलावा, बस एक वर्ग का उपयोग चीजों को बहुत आसान बनाता है।

+0

का उपयोग करें क्या सीएसएस में यह चयनकर्ता पुराने ब्राउज़र जैसे IE8 और ie9 पर काम करता है, और यदि विकल्प नहीं है? – Jim

+1

@Jim: हाँ, यह काम करता है। – BoltClock

+0

यह बहुत संगत है - क्विर्कमोड देखें: http://www.quirksmode.org/css/selectors/#link3 – doub1ejack

79

इस प्रयास करें:

$('div[id^="player_"]') 
+0

यह जवाब होना चाहिए। यह दिखाता है कि वास्तव में कोड में समाधान को कैसे कार्यान्वित किया जाए। धन्यवाद, प्रकाश! –

22

आप की तरह * (http://api.jquery.com/category/selectors/) मेटा वर्णों का उपयोग कर सकते हैं। तो मुझे लगता है कि आप बस $('#player_*') का उपयोग कर सकते हैं।

अपने मामले तुम भी कोशिश कर सकते में चयनकर्ता "गुण के साथ शुरू होता": http://api.jquery.com/attribute-starts-with-selector/: $('div[id^="player_"]')

+1

असल में मेरा मानना ​​है कि आप * $ ('# उपसर्ग \ *') * का उपयोग नहीं कर सकते हैं। कम से कम मुझे यह काम नहीं मिल रहा है ... –

+1

यह मेरे लिए (क्रोम में) काम नहीं करता है। – rept

+0

ठीक है मुझे लगता है कि आप समझ में नहीं आ रहे हैं कि प्रलेखन क्या कहता है: मेटा-वर्णों (जैसे '!" # $% और '() * +,।/:; <=> का उपयोग करने के लिए? @ [\]^\ '{|} ~') _ ** नाम के एक शाब्दिक भाग के रूप में ** _, इसे दो बैकस्लाश से बचाना होगा: उदाहरण के लिए, id = "foo.bar" वाला तत्व, उपयोग कर सकता है चयनकर्ता '$ (" # foo \\। bar ")' –

3
$('div[id ^= "player_"]'); 

यह me..select के लिए काम किया सब डिव "players_" कीवर्ड के साथ शुरू होता है और यह प्रदर्शित करते हैं।

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