Javascript addEventListener未在节点上工作

Javascript addEventListener未在节点上工作,javascript,addeventlistener,nodelist,Javascript,Addeventlistener,Nodelist,我有这个简单的javascript代码 但是,由于某些原因,单击它不起作用,但是如果我删除getElementByIdactive_tab_selector.attr'id,它可以正常工作。有什么想法吗?for循环对每个节点迭代x次,但只有最后一个节点对回调有效 然后通过一个方法对其进行更改,该方法调用特定节点的addEventListener for (var i = 0, node; node = nodeList[i]; i++) { addEventTo( node ); } fu

我有这个简单的javascript代码


但是,由于某些原因,单击它不起作用,但是如果我删除getElementByIdactive_tab_selector.attr'id,它可以正常工作。有什么想法吗?

for循环对每个节点迭代x次,但只有最后一个节点对回调有效 然后通过一个方法对其进行更改,该方法调用特定节点的addEventListener

for (var i = 0, node; node = nodeList[i]; i++) {
  addEventTo( node );
}

function addEventTo( node ) {
  node.addEventListener( 'click', function () {
    getChild(this.getAttribute(attribute));
  }, false);
}

有关此项的详细信息

可能没有包含您正在传递的id值的元素。你们检查过了吗?是的,当我在控制台上显示结果时,它是正确的。那个代码是在构建DOM之前运行的吗?您是否尝试添加console.log调用以检查代码中的实际点?当我单击某个链接时,会触发此代码。因此,在构建DOM之后,我使用console.log显示结果,结果是正确的。那么,元素中是否真的有id相关的元素?
for (var i = 0, node; node = nodeList[i]; i++) {
  addEventTo( node );
}

function addEventTo( node ) {
  node.addEventListener( 'click', function () {
    getChild(this.getAttribute(attribute));
  }, false);
}