gpt4 book ai didi

javascript - getelementsbyname 添加事件监听器

转载 作者:行者123 更新时间:2023-11-28 10:59:53 25 4
gpt4 key购买 nike

<form>
<a name='lala'/><a name='lala'/>
</form>

<script type='text/javascript'>
var elem=document.getElementsByName('lala');
alert(elem.length);
</script>

弹出警报0!?所以这使得下一个不起作用!?

for(i in elem)
elem[i].addEventListener('click',function(){alert('lala');}, false);

非常感谢!!

最佳答案

它不起作用,因为当您调用 document.getElementsByName 时DOM 元素尚未加载,因此,您的 document.getElementsByName('lala');将返回 null。

有多种方法可以在 DOM 元素准备就绪时执行功能。最简单的方法是在 <head> 中创建一个函数并在你的body的load事件中调用它

<head>
<script type="text/javascript">
function domLoaded() {
var elem=document.getElementsByName('lala');
alert(elem.length);
}
</script>
</head>

<body onload="domLoaded();">


....


</body>

当您将 javascript 函数放在标记的末尾时,您就可以在元素准备就绪时开始调用代码。这也可以,但是以正确的方式做事并将所有 JS 代码放在 head 元素中不是更好吗?当你需要修复问题时,在代码中到处乱扔 JS 代码会让你陷入 hell 。

关于javascript - getelementsbyname 添加事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5285459/

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