这个假期我愿意学习用JS操作DOM
我从简单的事情开始,例如:
var sliderControler = document.getElementsByClassName("slider-controler");
var slideAtual = 0;
for(i = 0; i < sliderControler.length;i++) {
sliderControler[i].click(function(){
console.log("I love to screw my brain with js");
})
}
为什么我不能关联此事件?
我有一个节点列表吗?
然后,document.getElementsByClassName返回一个nodeList,
jQuery $(“。slider-controler”)返回一个对象。
jQuery返回的节点列表对象之间有什么区别
最佳答案
当前,您正在触发HTMLElement
(NodeList
)中每个sliderControler
的点击事件。NodeList
的每个元素都是一个HTMLElement
。要将单击处理程序绑定到NodeList中的元素,请使用addEventListener
或将处理程序分配给onclick
属性。
for(i = 0; i < sliderControler.length;i++) {
sliderControler[i].addEventListener('click', function(){
console.log("I love js");
});
}
如果您使用的是jQuery,则无需使用循环来绑定单击处理程序。
$('.sliderControler').click(function() {
console.log("I love js");
});