如何将事件处理程序分配给 JavaScript 中的多个元素?

2024-04-15

我知道如何使用 jQuery 来做到这一点,并且我知道如何使用事件委托来做到这一点。但是如何在纯 JavaScript 中做到这一点呢?

例如,如何将事件处理程序分配给一堆lis?

我看到var li = document.querySelectorAll('li');。返回一个类似数组的东西。您只是循环并分配处理程序吗?我觉得一定有更好的方法。如果不是,那么循环遍历类似数组的东西的最佳方法是什么(类似数组的东西叫什么?)?


是的,您应该循环遍历集合并单独分配处理程序。 jQuery 也在幕后执行此操作。

querySelectorAll返回一个NodeList https://developer.mozilla.org/en-US/docs/Web/API/NodeList这是一个类似数组的对象。

要循环遍历列表,您可以使用for loop:

var list = document.querySelectorAll('li'),
    l = list.length,
    li;

for (var i = 0; i < l; i++) {
   li = list.item(i);
   // ...
} 

或者使用forEach method:

[].forEach.call(document.querySelectorAll('li'), function(li) {
    // ...
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将事件处理程序分配给 JavaScript 中的多个元素? 的相关文章

随机推荐