CSS चयनकर्ता

CSS सेलेक्टर्स

सेलेक्टर इंजन CSS सेलेक्टर टेक्स्ट को संरचित रूप में पार्स करता है और इसे DOM ट्रीज़ के विरुद्ध मूल्यांकन करता है। यह सीधे क्वेरीज और कैस्केड के नियम मिलान दोनों को समर्थित करता है।


सेलेक्टर्स चलाना

select() एक सेलेक्टर को ट्री के विरुद्ध मूल्यांकन करता है और मैचेस लौटाता है; element_matches() एकल तत्व का परीक्षण करता है। दोनों मानक सेलेक्टर सिंटैक्स स्वीकार करते हैं — टाइप, क्लास, आईडी, एट्रिब्यूट, और प्यूडो-क्लास सेलेक्टर्स, जिसमें संयोजित और जटिल संयोजन शामिल हैं।

पार्स किए गए सेलेक्टर संरचनाएँ

parse() SelectorList का उत्पादन करता है जिसमें ComplexSelector और CompoundSelector एंट्रीज़ शामिल हैं, जो TypeSelector, ClassSelector, IDSelector, AttributeSelector (with AttributeOperator), UniversalSelector, और Combinator भागों से निर्मित हैं।

प्यूडो-क्लासेस

फ़ंक्शनल स्यूडो-क्लासेज़ को स्पष्ट रूप से मॉडल किया गया है: IsPseudoClass, WherePseudoClass, HasPseudoClass, ComplexNotPseudoClass, और संरचनात्मक nth-child वैरिएंट्स NthFilteredChildPseudoClass के माध्यम से NthArgument के साथ।

Specificity

specificity() एक चयनकर्ता के लिए मानक तीन-घटक ट्यूपल की गणना करता है, और max_specificity() एक सूची को घटाता है; match() पार्सिंग और मूल्यांकन को साथ जोड़ता है। ये वही मान हैं जो कास्केड उपयोग करता है, इसलिए क्वेरी परिणाम और गणना किए गए स्टाइल हमेशा मेल खाते हैं।


टिप्स और सर्वोत्तम प्रथाएँ

  • फ़िल्टरों के भीतर element_matches() का उपयोग करें, प्रत्येक तत्व पर select() को पुनः चलाने के बजाय
  • एक बार पार्स करें और SelectorList को पुनः उपयोग करें जब वही चयनकर्ता कई पेड़ों के खिलाफ चलाया जाता है
  • जब कोई नियम अप्रत्याशित रूप से कास्केड खो देता है, तो specificity() मानों की सीधे तुलना करें

सामान्य समस्याएँ

समस्याकारणसमाधान
चयनकर्ता कुछ नहीं मिलाताचयनकर्ता पाठ में वाक्यविन्यास त्रुटिparse() syntax_error के माध्यम से उठाता है — संदेश जांचें
समान-विशिष्टता टाईज़ “गलत” को हल करती हैंक्रम निर्भरताबाद के नियम टाई को जीतते हैं; नियम क्रम जांचें
:is() बनाम :where() भ्रम:where() शून्य विशिष्टता योगदान देता हैइच्छित कास्केड वजन के अनुसार चुनें

FAQ

मैं एक तत्व को सेलेक्टर के विरुद्ध कैसे टेस्ट करूँ?

element_matches() — यह बूलियन लौटाता है बिना ट्री को स्कैन किए।

विशिष्टता की गणना कैसे की जाती है?

specificity() मानक (id, class, type) घटक टुपल लौटाता है; :where() समूह शून्य योगदान देते हैं।

कौन-सी स्यूडो-क्लासेस समर्थित हैं?

API में संरचित रूप: :is(), :where(), :has(), :not() जटिल आर्ग्यूमेंट्स के साथ, और nth-child-स्टाइल संरचनात्मक सेलेक्टर।


API Reference सारांश

Class/Methodविवरण
selectसेलेक्टर को ट्री के विरुद्ध मूल्यांकन करें
element_matchesएक तत्व का परीक्षण करें
parseसेलेक्टर टेक्स्ट को SelectorList में पार्स करें
specificityविशिष्टता ट्यूपल की गणना करें
HasPseudoClassसंरचित :has() रूप
AttributeSelectorऑपरेटर्स के साथ एट्रिब्यूट मैचर

यह भी देखें

 हिन्दी