我是新手(也是JavaScript新手),请原谅我的超级基础问题。 我有一个HTML页面,其中有不同的图片,它们都共享一个类。使用getElementsByClassName,我可以获得一个数组。我想通过使用.map()函数将事件监听器添加到数组中的每个单元格。
这是我拥有的:
window.onload = function(){
var allImgs = document.getElementsByClassName("pft");
var newImgs = allImgs.map(
function(arrayCell){
return arrayCell.addEventListener("mouseover, functionName");
}
);
};
即使我将内部函数更改为不包含事件监听器的内容,它仍然显示错误"allImgs.map不是一个函数"。
我有另一个版本的代码,在window.onload中只需循环遍历数组单元格并以这种方式向每个单元格添加事件侦听器即可正常工作。为什么.map()函数不起作用? 它不能在window.onload中使用吗?
Array.from
,它比Array.prototype.slice.call
更简洁。 - AthariObject.entries(document.getElementsByTagName('button'))
,从那里你就拥有了全部的能力。 - Stephan Ahlf