1
我有一个问题。我有X子元素(按钮等)和子单元内的div元素,我将用循环添加一个事件监听,我提供了一个小提琴:Javascript Eventlistener循环与自己的属性
<button test="page1">page1</button>
<button test="page2">page2</button>
<br>
<button test2="page1">page1</button>
<button test2="page2">page2</button>
var location = document.querySelectorAll("[test]");
var location2 = document.querySelectorAll("[test2]");
location.forEach(function(e1, e2){
location[e2].addEventListener("click", function(){
alert(location[e2].getAttribute("test"));
});
});
for(var i = 0; i < location2.length; i++){
location2[i].addEventListener("click", function(){
alert(location2[i].getAttribute("test2"));
});
}
https://jsfiddle.net/zeus1309/jqL8b0rt/
用foreach作品的版本。但是没有的那个。 我不明白为什么。
要当心,节点列表的实例(从document.querySelectorAll)不具有的forEach方法。之前写下:“NodeList.prototype.forEach = Array.prototype.forEach;” – karkael
也谢谢! –