我知道如何使用 jQuery 来做到这一点,并且我知道如何使用事件委托来做到这一点。但是如何在纯 JavaScript 中做到这一点呢?
例如,如何将事件处理程序分配给一堆li
s?
我看到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(使用前将#替换为@)