मार्कअप कोड:
<div id="elements">
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a>
</div>
</div>
कृपया मुझे बताएं कि मुझे सभी तत्वों की एक सरणी कैसे मिल सकती है div
, ताकि बाद में, विकल्पों की एक सरणी को संबोधित करना संभव हो?
जैसे:
divs[0]
links[1]
उत्तर:
उत्तर № 1 के लिए 6var divs = $("#elements div");
var links = $("#elements div a");
- यदि आप DOM एलिमेंट चाहते हैं, तो आप उन्हें ऐरे स्टाइल जैसे एक्सेस कर सकते हैं
divs[0]
याlinks[2]
. - यदि आप विशिष्ट jQuery ऑब्जेक्ट प्राप्त करना चाहते हैं, तो आप उन्हें एक्सेस कर सकते हैं
divs.eq(0)
याlinks.eq(1)
.
जवाब के लिए 6 № 2
$("#elements div").eq(0) // first div
$("#elements div a").eq(1) // second anchor in group of divs
के बिना .eq()
आपके पास तत्वों का एक संग्रह है, .eq
बस तत्वों को बाहर निकालता है।
उत्तर № 3 के लिए 1
wrapper = document.getElementById("elements");
divs = wrapper.getElementsByTagName("div");
links = [];
for (i = 0; i < divs.length; i++) {
links[i] = divs[i].getElementsByTagName("a");
}
divs अब divs के अंदर की एक सरणी होगीअपने "तत्वों" div। लिंक अब एक दो आयामी सरणी है, जहां पहला सूचकांक आपके "तत्वों" div के अंदर div को दर्शाता है, और दूसरा सूचकांक उस div के अंदर "a" टैग को संदर्भित करता है।
links[2][1]
नीचे दिए गए तत्व को संदर्भित करेगा:
<div id="elements">
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a>
<a href="#">text</a>
</div>
<div>
<a href="#">text</a>
<a href="#">text</a> //this one
</div>
</div>
उत्तर के लिए 1 № 4
या यह भी, और मेरा मानना है कि यह अधिक सटीक है कि आपने क्या पूछा:
$ ("# तत्व div: eq (0) a: eq (1)")
जवाब के लिए 0 № 5
$("#elements a")
$("div a")
or $("a")
जवाब के लिए 0 № 6
देख https://api.jquery.com/toArray/
$( "li" ).toArray()
इस तरह के मामलों में महान काम करता है
$( "li" ).toArray().each( function(li) {
console.log("do something with this list item", li);
})
या यदि आप वास्तव में चाहते हैं
$( "li" ).toArray()[0]