[英]HTMLCollection will log to console, but logging .count returns undefined?
[英]Why my console log is returning HTMLCollection0?
我試圖在列表中返回該文本,但我得到了 htmlcollection0
我的 JS:
Array.from(document.getElementById("main-menu").getElementsByTagName("li")).forEach(
(x) =>
(x.onclick = () =>
console.log({
event_name: "menu item clicked",
menu_item: x.getElementsByTagName("li"),
}))
);
我的html:
<div id="main-body">
<ol id="main-menu">
<li class="selected">Shop Spirits</li>
<li>Shop Bourbon</li>
<li>Shop Scotch</li>
<li>Shop Rum</li>
</ol>
x.getElementsByTagName('li')
返回嵌套在x
中的所有li
元素。 沒有,所以返回一個空的 NodeList。
如果要記錄單擊項目的文本,請使用x.innerText
,無需搜索任何內容。
Array.from(document.getElementById("main-menu").getElementsByTagName("li")).forEach( (x) => (x.onclick = () => console.log({ event_name: "menu item clicked", menu_item: x.innerText })) );
<div id="main-body"> <ol id="main-menu"> <li class="selected">Shop Spirits</li> <li>Shop Bourbon</li> <li>Shop Scotch</li> <li>Shop Rum</li> </ol>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.