दिलचस्प पोस्ट
टेम्पलेट्स का उपयोग करते हुए एक लैम्ब्डा को एक स्टडी :: फ़ंक्शन में कनवर्ट कैसे करें सीएसएस का उपयोग करते हुए एचटीएमएल टेबल कॉलम दिखाने / छिपाना एक WHERE करना .. सिद्धांत 2 में subquery में WAMP स्थानीय नेटवर्क पर नहीं पहुंच सकता है 403 Forbidden क्लासपाथ पर एक एक्लिप्स में फ़ाइल कैसे डालती है? संबंधित पंक्तियों से एक एकल संमिलित स्ट्रिंग मान में मानों को जोड़ते हैं एमडी 5 हैश को "डिक्रिप्ट" करना असंभव कैसे हो सकता है? एसक्यूएल सर्वर 2008 SQL सर्वर 2005 के लाभ? mysql :: तालिका में डालें, दूसरे तालिका से डेटा? कैसे प्रकार 1 9 .5 में एक enum प्रकार की प्रोग्राममैटिक गणना है? डॉकर मशीन में स्थानीय संस्करणों को कैसे माउंट करने के लिए "से" और "से" कॉलम तक परिभाषित श्रेणी का विस्तार करें अपने नंबर में एक्सेल कॉलम पत्र को बदलने के लिए एल्गोरिथ्म क्या है? मैं आरजीबी में 2 डी सरणी के रूप में छवि पिक्सेल के मान कैसे पढ़ सकता हूं? क्रॉलिंग के लिए स्क्रैपर के लिए यूआरएल कैसे देना है?

HTMLCollection, नोड सूची, और ऑब्जेक्ट्स के बीच अंतर

जब DOM की बात आती है तो मुझे हमेशा एचटीएमएल संकल्प, ऑब्जेक्ट्स, और एरे के बीच भ्रमित किया जाता है उदाहरण के लिए…

  1. document.getElementsByTagName("td") और $("td") बीच अंतर क्या है?
  2. $("#myTable") और $("td") ऑब्जेक्ट हैं (jQuery ऑब्जेक्ट्स) कंसोल.लॉग उनके पास DOM तत्वों की सरणी क्यों दिखा रहा है, और वे ऑब्जेक्ट नहीं हैं और एक सरणी नहीं है?
  3. क्या मायावी "नोड सूची" सभी के बारे में है, और मैं एक को कैसे चुनूं?

कृपया नीचे दिए गए स्क्रिप्ट के किसी भी व्याख्या को भी प्रदान करें।

धन्यवाद

 [123,"abc",321,"cba"]=[123,"abc",321,"cba"] {123:123,abc:"abc",321:321,cba:"cba"}=Object { 123=123, abc="abc", 321=321, more...} Node= Node { ELEMENT_NODE=1, ATTRIBUTE_NODE=2, TEXT_NODE=3, more...} document.links= HTMLCollection[a #, a #] document.getElementById("myTable")= <table id="myTable"> document.getElementsByClassName("myRow")= HTMLCollection[tr.myRow, tr.myRow] document.getElementsByTagName("td")= HTMLCollection[td, td, td, td] $("#myTable")= Object[table#myTable] $("td")= Object[td, td, td, td] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <title>Collections?</title> <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){ console.log('[123,"abc",321,"cba"]=',[123,"abc",321,"cba"]); console.log('{123:123,abc:"abc",321:321,cba:"cba"}=',{123:123,abc:"abc",321:321,cba:"cba"}); console.log('Node=',Node); console.log('document.links=',document.links); console.log('document.getElementById("myTable")=',document.getElementById("myTable")); console.log('document.getElementsByClassName("myRow")=',document.getElementsByClassName("myRow")) console.log('document.getElementsByTagName("td")=',document.getElementsByTagName("td")); console.log('$("#myTable")=',$("#myTable")); console.log('$("td")=',$("td")); }); </script> </head> <body> <a href="#">Link1</a> <a href="#">Link2</a> <table id="myTable"> <tr class="myRow"><td>td11</td><td>td12</td></tr> <tr class="myRow"><td>td21</td><td>td22</td></tr> </table> </body> </html> 

Solutions Collecting From Web of "HTMLCollection, नोड सूची, और ऑब्जेक्ट्स के बीच अंतर"

सबसे पहले मैं HTMLCollection और HTMLCollection बीच का अंतर HTMLCollection

दोनों इंटरफेस DOM नोड्स के संग्रह हैं। ये वे तरीकों में भिन्न हैं जो वे प्रदान करते हैं और इन प्रकार के नोड्स में हो सकते हैं। जबकि एक HTMLCollection में कोई भी नोड प्रकार हो सकता है, एक HTMLCollection में एलीमेंट नोड्स ही शामिल होना चाहिए।
एक HTMLCollection एक HTMLCollection रूप में एक ही तरीके प्रदान करता है और इसके अतिरिक्त namedItem

संग्रह हमेशा उपयोग किए जाते हैं जब कई नोड्स को एक्सेस प्रदान किया जाता है, उदाहरण के लिए, अधिकांश चयनकर्ता विधियां (जैसे getElementsByTagName ) एकाधिक नोड्स वापस कर देती हैं या सभी बच्चों ( element.childNodes ) के संदर्भ में प्राप्त करती हैं।

अधिक जानकारी के लिए, DOM4 विनिर्देश पर एक नज़र डालें – संग्रह ।

document.getElementsByTagName("td") और $("td") बीच अंतर क्या है?

getElementsByTagName डीओएम इंटरफ़ेस की विधि है। यह एक टैग नाम को इनपुट के रूप में स्वीकार करता है और HTMLCollection देता है (कुछ ब्राउज़रों ने इसके बजाय HTMLCollection लौटने का HTMLCollection किया, जो ठीक है, क्योंकि यह HTMLCollection का एक सुपरसेट है)।

$("td") संभवतः jQuery है यह किसी भी वैध सीएसएस / jQuery चयनकर्ता स्वीकार करता है और एक jQuery ऑब्जेक्ट देता है।

मानक डोम संग्रह और jQuery चयनों के बीच सबसे बड़ा अंतर यह है कि आम तौर पर डोम संग्रह आम तौर पर रहते हैं (हालांकि सभी तरीकों से कोई लाइव संग्रह नहीं लौटाता है), यानी DOM में कोई भी परिवर्तन संग्रह में दिखाई देता है यदि वे प्रभावित होते हैं। वे DOM ट्री पर एक दृश्य की तरह हैं, जबकि jQuery के चयन डॉम ट्री के स्नैपशॉट हैं, फ़ंक्शन को फिलहाल कहा गया था।

कंसोल.लॉग उनके पास DOM तत्वों की सरणी क्यों दिखा रहा है, और वे ऑब्जेक्ट नहीं हैं और एक सरणी नहीं है?

jQuery के ऑब्जेक्ट सरणी-जैसी ऑब्जेक्ट हैं, अर्थात् उनके पास संख्यात्मक गुण हैं और एक length संपत्ति (ध्यान रखें कि सरणी केवल ऑब्जेक्ट्स हैं)। ब्राउज़र्स एक विशेष तरीके से सरणियों और सरणी-प्रकार की वस्तुओं को प्रदर्शित करते हैं, जैसे [ ... , ... , ... ]

क्या मायावी "नोड सूची" सभी के बारे में है, और मैं एक को कैसे चुनूं?

मेरे जवाब का पहला भाग देखें आप NodeList चयन नहीं कर सकते हैं, वे एक चयन का परिणाम हैं।

जहाँ तक मुझे पता है कि NodeList प्रोग्रामैटिक रूप से बनाने का एक तरीका भी नहीं है (यानी एक खाली जगह बनाने और बाद में नोड्स जोड़ना), वे केवल कुछ DOM विधियों / गुणों से लौटाए जाते हैं

0. एक HTMLCollection और एक HTMLCollection बीच क्या अंतर है?

आपके लिए कुछ परिभाषाएं यहां दी गई हैं

डोम स्तर 1 युक्ति – विविध वस्तु परिभाषाएं :

इंटरफ़ेस HTMLCollection

एक HTMLCollection नोड्स की एक सूची है। एक व्यक्तिगत नोड को या तो ऑर्डिनल इंडेक्स या नोड के नाम या आईडी एट्रिब्यूट्स द्वारा एक्सेस किया जा सकता है। नोट: एचटीएमएल डोम में संग्रह का अर्थ है कि वह स्वचालित रूप से अद्यतित हो जाते हैं जब अंतर्निहित दस्तावेज़ परिवर्तित हो जाते हैं।

डोम स्तर 3 युक्ति – नोडलिस्ट

इंटरफ़ेस नोडलिस्ट

नोडलिस्ट इंटरफ़ेस नोड्स के क्रमबद्ध संकलन की अवशेष प्रदान करता है, बिना यह परिभाषित या बाधा कैसे करता है कि यह संग्रह कैसे लागू होता है। डोम में नोडलिस्ट ऑब्जेक्ट लाइव हैं।

नोडलाइस्ट में आइटम 0 से शुरू होने वाले एक अभिन्न सूचकांक के माध्यम से पहुंचा जा सकते हैं।

इसलिए वे दोनों में लाइव डेटा हो सकता है जिसका मतलब है कि जब उनके मूल्यों में DOM अपडेट हो जाएगा। उनके कार्यों में एक अलग सेट भी होता है

आप नोट करेंगे कि क्या आप कंसोल का निरीक्षण करते हैं यदि आप अपनी स्क्रिप्ट चलाते हैं, तो table DOM तत्व में HTMLCollection[1] NodeList[2] और एक children HTMLCollection[1] । वे अलग क्यों हैं? क्योंकि HTMLCollection केवल तत्व नोड्स हो सकते हैं, HTMLCollection में एक पाठ नोड भी शामिल है

यहां छवि विवरण दर्ज करें

1. document.getElementsByTagName("td") और $("td") बीच क्या अंतर है?

document.getElementsByTagName("td") DOM तत्वों (एक NodeList ) की एक सरणी देता है, $("td") को एक jQuery ऑब्जेक्ट कहा जाता है जिसमें document.getElementsByTagName("td") के तत्वों की इसकी गुणधर्म 0 , 1 , 2 , आदि। मुख्य अंतर यह है कि jQuery ऑब्जेक्ट को पुनः प्राप्त करने के लिए थोड़ा धीमा होता है लेकिन सभी आसान jQuery फ़ंक्शंस तक पहुंच देता है।

2. $("#myTable") और $("td") ऑब्जेक्ट हैं ( jQuery ऑब्जेक्ट्स)। console.log उनके पास DOM तत्वों की सरणी क्यों दिखा रहा है, और वे ऑब्जेक्ट नहीं हैं और एक सरणी नहीं है?

वे अपने गुणों 0 , 1 , 2 , आदि के साथ वस्तुओं को DOM तत्वों पर सेट करते हैं। यह एक सरल उदाहरण है: यह कैसे काम करता है:

jsFiddle

  var a = { 1: "first", 2: "second" } alert(a[1]); 

3. मायावी "नोडलिस्ट्स" सभी के बारे में क्या है, और मैं एक को कैसे चुनूं?

आप उन्हें अपने कोड में पुनर्प्राप्त कर रहे हैं, getElementsByClassName और getElementsByTagName दोनों NodeList एस

NodeList

$("td") विस्तारित jQuery ऑब्जेक्ट है और इसमें jQuery के तरीकों हैं, यह जेक्जरी ऑब्जेक्ट देता है जिसमें HTML ऑब्जेक्ट्स की सरणी होती है। document.getElementsByTagName("td") कच्चे जेएस विधि है और नोडलिस्ट को रिटर्न देती है। इस आलेख को देखें