2011-11-20 12 views
12

मैं एक जेएस कोड बनाने की कोशिश कर रहा हूं जो एकाधिक पृष्ठों के साथ काम करता है। मैं डॉम के रूप में तत्व प्राप्त करने के लिए querySelectorAll() का उपयोग करने का प्रयास कर रहा हूं।querySelectorAll() का उपयोग कर। क्या परिणाम आदेश द्वारा वापस आ गया है?

मुझे ऑर्डर करने वाले तत्वों की आवश्यकता है। ऐसा करने के लिए मैं xPath या चयनकर्ताओं का उपयोग कर सकता हूं (मैं चयनकर्ताओं का उपयोग करना पसंद करूंगा लेकिन xPath भी ठीक है)। समस्या यह है:
क्या NodeList में तत्व क्वेरी SelectorAll() द्वारा लौटाए गए क्रम के क्रम में आदेश दिया गया है कि टैग HTML में दिखाई देते हैं?

नोट: मैं टैग को जोड़ने के लिए करना चाहते हैं: querySelectorAll

उत्तर

23

लौटे नोड सूची का आदेश दिया है।

document.querySelectorAll("body, head")[0]; //Returned [object HTMLHeadElement] 

जाहिर है, <head> टैग एक HTML दस्तावेज़ में <body> से पहले प्रकट होता है: एक त्वरित परीक्षण यह साबित कर दिया। नोडलिस्ट का पहला तत्व भी <head> तत्व है, भले ही चयनकर्ता body 'सिर से पहले दिखाता है।

http://www.w3.org/TR/selectors-api/#queryselectorall से

:

NodeSelector इंटरफेस पर querySelectorAll() विधि, जब लागू, एक NodeList दस्तावेज़ आदेश में, नोड के subtrees भीतर मिलान तत्व नोड्स के सभी लौटाएगा। यदि ऐसे नोड्स नहीं हैं, तो विधि को एक खाली नोडलिस्ट लौटा देना चाहिए।

+1

मैंने पहले ही फ़ायरफ़ॉक्स, क्रोम और ओपेरा के साथ परीक्षण किया है। उन सभी ने उन्हें आदेश दिया लेकिन मैं सिर्फ यह जानना चाहता था कि यह सभी ब्राउज़रों में होता है या नहीं। – brunoais

+0

वह एक सीएसएस चयनकर्ता है। ',' द्वारा पृथक्करण का कोई मतलब नहीं है (वह हिस्सा इस चयन में है कि चयनकर्ता कैसे चुनते हैं) – brunoais

+0

@brunoais लिंक किए गए w3 विनिर्देश पर एक नज़र डालें। –

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