स्ट्रिंग के साथ शुरू होने वाली आईडी (जावास्क्रिप्ट में नहीं) का चयन करने के लिए सीएसएस कैसे प्राप्त करें?


192

यदि HTML में इस तरह के तत्व हैं:

id="product42"
id="product43"
...

मैं उन सभी आईडी का मिलान "उत्पाद" से कैसे करूँ?

मैंने ऐसे उत्तर देखे हैं जो यह जावास्क्रिप्ट का उपयोग करते हैं, लेकिन इसे केवल CSS के साथ कैसे किया जाए?

जवाबों:


361
[id^=product]

^=इंगित करता है "के साथ शुरू होता है"। इसके विपरीत, $=इंगित करता है "के साथ समाप्त होता है"।

प्रतीकों को वास्तव में रेगेक्स सिंटैक्स से उधार लिया जाता है, जहां ^और$ क्रमशः "स्ट्रिंग की शुरुआत" और "स्ट्रिंग का अंत" का मतलब है।

पूरी जानकारी के लिए चश्मा देखें ।


1
विधि और स्पष्टीकरण के लिए धन्यवाद, मैंने अपना प्रश्न संपादित किया है इसलिए यह अधिक स्पष्ट है। जिज्ञासा से बाहर, क्या आईडी के स्ट्रिंग के अंदर एक स्ट्रिंग से मिलान करने का एक तरीका है?
गुप्तरोन

चश्मा देखें , वे मुझे जितना बेहतर समझा सकते हैं!
नीट द डार्क एबसोल

@itamar: मैं अपने उत्तर को संपादित करने के आपके प्रयास की सराहना करता हूं, लेकिन उद्धरण केवल तभी आवश्यक होता है जब मूल्य में ऐसे अक्षर हों जो एक मान्य पहचानकर्ता नहीं हैं। productस्पष्ट रूप से एक मान्य पहचानकर्ता है, और इसलिए उसे कोई उद्धरण नहीं चाहिए।
नीट द डार्क एब्सोल

इस प्रकार के चयनकर्ता की विशिष्टता बहुत कम है
21

3
@ एमराल्ड 214:not([id^=product])
नीट द डार्क एबोल

59

मैं इसे इस तरह से करूँगा:

[id^="product"] {
  ...
}

आदर्श रूप में, एक वर्ग का उपयोग करें। यह किस वर्ग के लिए है:

<div id="product176" class="product"></div>
<div id="product177" class="product"></div>
<div id="product178" class="product"></div>

और अब चयनकर्ता बन जाता है:

.product {
  ...
}

1
@ ब्लेंडर, धन्यवाद, मैंने दूसरा जवाब चुना क्योंकि यह मुझे थोड़ा और समझाता है और इस्तेमाल किए जा रहे प्रतीकों को समझता है। मैं इस परिदृश्य के लिए कक्षाओं का उपयोग नहीं कर सकता, अन्यथा, हां यह अच्छा होगा।
गुप्ट्रॉन


-1

मैंने देखा कि एक और CSS चयनकर्ता है जो समान काम करता है। सिंटैक्स निम्नानुसार है:

[id|="name_id"]

यह सभी तत्वों की आईडी का चयन करेगा जो दोहरे उद्धरणों में संलग्न शब्द से शुरू होता है।


आपने कैसे देखा? संदर्भ?
बेन बोजॉर्ग

इसके लिए यहां डॉक: w3.org/TR/selectors-3/#attribute-selectors यह सभी आईडी का चयन करना चाहिए जो "name_id" से शुरू या बराबर होती है
Dessauges Antoine

att|=valके रूप में ही नहीं है att^=val। उल्लेख किए गए संदर्भ से: |=चयनकर्ता "एट विशेषता के साथ एक तत्व का प्रतिनिधित्व करता है, इसका मूल्य या तो" वैल "या" वैल "के साथ शुरू होता है, जिसके तुरंत बाद" - "होता है ।" तो "product42" जैसी आईडी का मिलान नहीं किया जाएगा। |=, लेकिन "उत्पाद -42" होगा।
Goozak
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.