gpt4 book ai didi

javascript HTMLCollection 访问

转载 作者:行者123 更新时间:2023-11-29 15:38:37 25 4
gpt4 key购买 nike

我做了一个网站,需要插入 javascript。我想从我的 HTML 菜单中获取子节点。

这是我的 HTML 结构的一部分:

    <ul class="menu">
<div class="moduletable_menu">
<ul class="nav menu nav-pills">
<li class="item-101">
<li class="item-108 current active deeper parent">
<li class="item-127">
<li class="item-113 deeper parent">
<li class="item-124">
<li class="item-116 deeper parent">
</ul>
</div>
</ul>

所以,我想获得“active”元素。我编写了以下代码:

    function getmenuItem(){
var SelectedItem = document.getElementsByClassName("active");
console.log(SelectedItem);
console.log(SelectedItem.length);
}

问题来了:

我通过 Firebug 显示了控制台,它显示了我

HTMLCollection[]
0

然后我尝试使用 SelectedElement[0] 访问集合,但我得到了“未定义”。

请告诉我如何获取事件元素的子元素。

最佳答案

只有在 HTML 页面构建完成后才能找到该元素。如果您的代码在 <script> 中是独立的在文档中 <head> , 没有类 "active" 的元素还没有。

将您的代码放在 windows.onload 中,在加载页面并创建其元素后调用:

window.onload = function() {
var SelectedItem = document.getElementsByClassName("active");

console.log(SelectedItem);
console.log(SelectedItem.length);
}

那么你的集合长度应该是 1,你可以使用 [0] 访问第一个元素。 .当从 onclick 等事件处理程序中调用时,代码也将起作用。 , 只有当文档已经存在时才会触发。 (因为否则将没有任何按钮可以点击。)

关于javascript HTMLCollection 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23912535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com