Javascript NodeList.length始终返回0
我有一个节点列表对象,它是由Javascript NodeList.length始终返回0,javascript,nodelist,Javascript,Nodelist,我有一个节点列表对象,它是由 var buttons = document.getElementsByName("signupButton"); console.log(buttons); 印刷品 [item: function] 0: button.btn.btn-warning.btn-lg 1: button.btn.btn-warning.btn-lg 2: button.btn.btn-warning.btn-lg length: 3 __proto__: NodeList 但是
var buttons = document.getElementsByName("signupButton");
console.log(buttons);
印刷品
[item: function]
0: button.btn.btn-warning.btn-lg
1: button.btn.btn-warning.btn-lg
2: button.btn.btn-warning.btn-lg
length: 3
__proto__: NodeList
但是buttons.length正在打印0。这是怎么回事?这是因为在执行JS时DOM还没有加载。它出现在控制台中的原因是,当DOM发生变化时,chrome,或者firefox,将更新控制台,本质上改变控制台中的输出 要使其工作,您有两个选项:
- 在加载DOM时注册事件处理程序并执行
那就编码吧
document.addEventListener('DOMContentLoaded',function(){ //代码 //单击按钮时发出AJAX请求 var按钮=document.getElementsByName(“signupButton”); });代码>
- 将此脚本标记移到结束标记之前,以确保DOM在执行时已加载
//代码