क्या सीएसएस में एक निश्चित वर्ग, आईडी इत्यादि के पूर्वजों के कई तत्वों का चयन करना संभव है?
वर्तमान में, नहीं पूरे पूर्वज चयनकर्ता डुप्लिकेट करने और, वंश के सभी निर्दिष्ट करने दुर्भाग्य बिना:
table.exams caption,
table.exams tbody,
table.exams tfoot,
table.exams thead,
table.exams tr,
table.exams th,
table.exams td
यह केवल जब तक चयनकर्ता 3 को अंतिम रूप दिया जा रहा था देर के बाद यह था कि वे एक छद्म प्रस्तावित ऐसा करने के लिए क्लास नोटेशन, और हाल ही में ही बुनियादी कार्यान्वयन शुरू हो गया है। थोड़ा इतिहास सबक के लिए this answer देखें।
संक्षेप में, छद्म वर्ग जो मानक में प्रवेश कर चुका है उसे :matches()
के रूप में जाना जाता है।
table.exams :matches(caption, tbody, tfoot, thead, tr, th, td)
यदि नहीं, तो वहाँ उस वर्ग के सभी वंशजों का चयन करने के लिए एक रास्ता है: दूर भविष्य में, एक बार :matches()
को लागू करने शुरू ब्राउज़रों, तो आप इस तरह कुछ करने के लिए सक्षम हो जाएगा?
ठीक है, तो आप बस एक तारक *
, जो any element का प्रतिनिधित्व करता है का उपयोग कर सकते हैं। देखते हुए कि आप th
और अपने चयनकर्ता में td
है, तो आप शायद बजाय सभी सन्तान table.exams
के सभी बच्चों मतलब है, तो >
का उपयोग नहीं करते हैं, बजाय एक अंतरिक्ष का उपयोग करें:
table.exams *
लेकिन वास्तव में, से बचने के इस कर । यदि आप कर सकते हैं, तो यह निर्दिष्ट करने के लिए अपना पूरा प्रयास करें कि आप किस प्रकार के वंशज चुनने की कोशिश कर रहे हैं।
तालिकाओं के साथ विशेष रूप से, आप दूर table.exams > :not(.colgroup), table.exams > * > tr > *
साथ प्राप्त कर सकते हैं, लेकिन जैसा कि आप बता सकते हैं यह अविश्वसनीय रूप से गुप्त है (नहीं यह मान लिया गया है तो आप इस तालिका के अंदर कोई script-supporting elements या नेस्टेड तालिकाओं है उल्लेख करने के लिए) और आप आप उन सभी वंशों को सूचीबद्ध करना बेहतर कर सकते हैं जिन्हें आप स्पष्ट रूप से चाहते हैं।
याद रखें कि यह ** अत्यधिक ** अक्षम है। जैसा कि आप पहले ** ** ** डॉम में तत्वों का चयन करते हैं, और ** इसे पीछे से पीछे की तरफ ** प्रत्येक के लिए मूल तत्व तक, 'table' तत्व की खोज करते हैं। –
महान मदद! धन्यवाद। –