Baseline Widely available
NodeList
ê°ì²´ë ì¼ë°ì ì¼ë¡ element.childNodes
ì ê°ì ìì±(property)ê³¼ document.querySelectorAll
ì ê°ì ë©ìëì ìí´ ë°íëë ë
¸ëì ì½ë ì
ì
ëë¤.
ì°¸ê³ :
NodeList
ê°Array
ë ìëì§ë§,forEach()
를 ì¬ì©íì¬ ë°ë³µí ì ììµëë¤. ëíArray.from()
ì ì¬ì©íì¬Array
ë¡ ë³í í ìë ììµëë¤. ê·¸ë¬ë ì¼ë¶ ì¤ëë ë¸ë¼ì°ì ë ìì§NodeList.forEach()
ëëArray.from()
를 구ííì§ ìììµëë¤. ì´ê²ìArray.prototype.forEach()
를 ì¬ì©íì¬ íí¼í ì ììµëë¤. â ì´ ë¬¸ìì ìì 를 참조íì¸ì.
ê²½ì°ì ë°ë¼, NodeList
ë ë¼ì´ë¸ ì½ë ì
ì¼ë¡, DOMì ë³ê²½ ì¬íì ì¤ìê°ì¼ë¡ ì½ë ì
ì ë°ìí©ëë¤. ì를 ë¤ì´, Node.childNodes
ë ì¤ìê°ì
ëë¤:
var parent = document.getElementById("parent");
var child_nodes = parent.childNodes;
console.log(child_nodes.length); // let's assume "2"
parent.appendChild(document.createElement("div"));
console.log(child_nodes.length); // should output "3"
ë¤ë¥¸ ê²½ì° NodeList
ë ì ì ì½ë ì
ì
ëë¤. DOMì ë³ê²½í´ë ì½ë ì
ë´ì©ìë ìí¥ì ì£¼ì§ ììµëë¤. document.querySelectorAll()
ì ì ì NodeList
를 ë°íí©ëë¤.
NodeList
ì í목(items)ì ìí(iterate)íê±°ë, í¹í 리ì¤í¸ì 길ì´ë¥¼ ìºì(cache)í´ì¼ í ë, ì´ êµ¬ë¶ì ì ì§íëê²ì´ ì¢ìµëë¤.
NodeList.length
NodeList
ì ë
¸ëì ê°ì를 ë°íí©ëë¤.
NodeList.item()
null
ì ë°íí©ëë¤.
nodeList[idx]
ì ëìì¼ë¡ ì¬ì©í ì ììµëë¤.(i
ê° ë²ì를 ë²ì´ë ë(out-of-bounds) undefined
를 ë°íí©ëë¤.) ì´ê²ì ë¹ JavaScript ì¸ì´ DOM 구íì ì ì©í©ëë¤.
NodeList.entries()
iterator
를 ë°ííì¬ ì½ëê° ì½ë ì
ì í¬í¨ë 모ë í¤/ê° ìì ìíí ì ìëë¡ í©ëë¤. (ì´ ê²½ì° í¤ë 0ë¶í° ììíë ì«ìì´ê³ , ê°ì ë
¸ëê° ë©ëë¤.)
NodeList.forEach()
NodeList
ì ìì(element)ë§ë¤ í ë²ì©, ì¸ìë¡ ì ë¬ ë°ì í¨ì를 ì¤ííì¬ ìì를 ì¸ì(argument)ë¡ í¨ìì ì ë¬í©ëë¤.
NodeList.keys()
iterator
를 ë°ííì¬ ì½ë ì
ì í¬í¨ë í¤/ê° ìì 모ë í¤ë¥¼ ì½ëê° ìííëë¡ í©ëë¤. (ì´ ê²½ì° í¤ë 0ë¶í° ììíë ì«ìì
ëë¤.)
NodeList.values()
iterator
를 ë°íí©ëë¤.
for 루í를 ì¬ì©íì¬ NodeList
ì í목ì ë°ë³µí ì ììµëë¤.
for (var i = 0; i < myNodeList.length; ++i) {
var item = myNodeList[i]; // Calling myNodeList.item(i) isn't necessary in JavaScript
}
리ì¤í¸ì í목(items)ì ì´ê±°í기 ìí´ for...in ëë for each...in를 ì¬ì©íì§ ì길 ë°ëëë¤. NodeList
ì 길ì´ì í목 ìì±ê¹ì§ ì´ê±°í©ëë¤. ëí ì¤í¬ë¦½í¸ê° ìì(element
) ê°ì²´ë§ ì²ë¦¬íë¤ê³ ê°ì íë©´ ì¤ë¥ê° ë°ìí ì ììµëë¤. ê²ë¤ê°, for..in
ì ê³ ì ë ììë¡ ê° ìì±ë¤ì ì ê·¼íë¤ë ë³´ì¥ì´ ììµëë¤.
for...of
루íë NodeList
ê°ì²´ë¥¼ ì¬ë°ë¥´ê² ë°ë³µí©ëë¤.
var list = document.querySelectorAll("input[type=checkbox]");
for (var item of list) {
item.checked = true;
}
ìµì ë¸ë¼ì°ì ë ë°ë³µì(iterator) ë©ìëì¸ forEach()
ë§ì´ ìëë¼, entries()
, values()
, keys()
ê¹ì§ë ì§ìí©ëë¤.
ì¸í°ë· ìµì¤íë¡ë¬ì í¸íì ìí´ìë Array.prototype.forEach
를 ì¬ì©íë ë°©ë²ë ììµëë¤.
var list = document.querySelectorAll("input[type=checkbox]");
Array.prototype.forEach.call(list, function (item) {
item.checked = true;
});
Arrayë¡ ë³ííë ë²
NodeListì 컨í ì¸ ë¥¼ Arrayì ë©ìë를 íµí´ ë¤ë£¨ë ê²ì´ ë ì¬ì¸ ëë ìë¤. ìëë NodeList ê°ì²´ë¥¼ Arrayë¡ ë³ííë 기ë²ì´ë¤.
var div_list = document.querySelectorAll("div"); // returns NodeList
var div_array = Array.prototype.slice.call(div_list); // converts NodeList to Array
NodeList prototype
NodeListì íë¡í íì ì ì¶ê°í ìë ìë¤.
var elements = document.querySelectorAll(".suggestions");
NodeList.prototype.addEventListener = function (event, func) {
this.forEach(function (content, item) {
content.addEventListener(event, func);
});
};
function log() {
console.log(this, " was clicked");
}
elements.addEventListener("click", log);
//or
elements.addEventListener("click", function () {
console.log(this, " was clicked");
});
// í´ë¦ë ììë¡ë¶í° ì¶ë ¥ë ììë ë 모ë HTML ììê° ëë¤.
forEachì ëí ìì¸í ë´ì©ì Array.prototype.forEach() 를 참조í길 ë°ëë¤.
ëª ì¸ì ë¸ë¼ì°ì í¸íì±RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4