है क्या यह देखना संभव है कि कोई छाया DOM तत्व मौजूद है या नहीं? मैं इसे छेड़छाड़ करने के लिए बहुत चिंतित नहीं हूं, या यहां तक कि वास्तव में इसे प्रति-लक्ष्य भी लक्षित करता हूं। मैं encapsulation के तर्क को समझता हूँ। लेकिन मैं छाया डीओएम तत्व मौजूद है या नहीं, इस पर आधारित नियमित डीओएम में अन्य तत्वों को स्टाइल करने में सक्षम होना चाहता हूं।जांचें कि तत्व में # छाया-रूट
तरह की क्रमबद्ध करें:
if ($('#element-id #shadow-root').length) {
// true
}
या अगर नहीं छाया-जड़, कम से कम के भीतर एक विशिष्ट तत्व, एक div की आईडी की तरह के लिए। तो यदि वह div मौजूद है, तो स्पष्ट रूप से छाया DOM तत्व पृष्ठ पर है।
मुझे पता है कि यह इतना आसान नहीं होगा ... मैंने कुछ शोध किए हैं, >>>
और /deep/
जैसी चीजें हैं लेकिन उनका समर्थन कम/कोई/बहिष्कृत नहीं लगता है। शायद एक और तरीका खरीदें, हालांकि यह सुरुचिपूर्ण हो सकता है?
आप किसी तत्व की छाया DOM एलीमेंट होस्ट कर रहा है अगर पता लगाने के लिए इच्छुक रहे हैं:
तो सब में, हम कुछ इस तरह होता है? या यह सहायक होगा? – KevBot
जो मैं समझता हूं, छाया छाया में एक तत्व दिया गया है, एक जेएस var के माध्यम से एक छाया-डोम नोड का प्रतिनिधित्व करता है, आप यह निर्धारित कर सकते हैं कि वह नोड एक छाया डोम तत्व है या नहीं, और इसके पेड़ को नीचे या उसके पेड़ को पार कर सकता है गैर-छाया तत्व तक यह एक बच्चा हो सकता है (http://stackoverflow.com/questions/27453617/how-can-i-tell-if-an-element-is-in-a-shadow-dom) लेकिन पहले से ही उस नोड के बिना, जेएस क्वेरीसेलेक्टर एपीआई अपने आप पर छाया डोम को लक्षित नहीं कर सकता है, मुझे नहीं लगता कि आप जो कर रहे हैं वह कर सकते हैं – chiliNUT
@ केवबॉट मुझे लगता है कि ओप क्या पूछ रहा है, अगर मैं नहीं जानना चाहता , क्या आप जानते हैं कि वह काम कैसे करना है? – chiliNUT