जब मैं DOM पर आता हूं तो मुझे HTMLCollections, ऑब्जेक्ट्स और सरणियों के बीच हमेशा भ्रमित किया जाता है। उदाहरण के लिए...
- बीच क्या अंतर है
document.getElementsByTagName("td")
और$("td")
? $("#myTable")
और$("td")
ऑब्जेक्ट्स (jQuery ऑब्जेक्ट) हैं। क्यों कंसोल .log भी उनके बगल में DOM तत्वों की सरणी दिखा रहा है, और क्या वे ऑब्जेक्ट नहीं हैं और एक सरणी नहीं हैं?- मायावी "नॉडलिस्ट" के बारे में क्या है, और मैं एक का चयन कैसे करूं?
कृपया नीचे दी गई स्क्रिप्ट की कोई भी व्याख्या प्रदान करें।
धन्यवाद
[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>
document.querySelectorAll('td')
और के बीच होगा$('td')
। (ख) मौलिक अंतर यह है कि jQuery वस्तु जो, शामिल अन्य बातों के अलावा का अपना अलग प्रकार के साथ काम करता है, एक गिने HTML तत्वों का संग्रह; यह संग्रह उपरोक्त में से कोई भी नहीं है, और jQuery ऑब्जेक्ट मूल रूप से सच्चे DOM तत्वों के आसपास एक आवरण है ।