Javascript querySelector工作,但querySelectorAll不工作';T
我对JS很陌生。 有3个SVG,我正在尝试在鼠标结束时更改填充颜色。 当我使用querySelector('.svg')时,第一个非常有效。 我想全部改变这三个,不仅仅是第一个, 但是querySelectorAll('.svg')或GetElementsByCassName、getElementsbyTagName似乎都不起作用。有什么问题? 任何帮助都将不胜感激。 多谢各位Javascript querySelector工作,但querySelectorAll不工作';T,javascript,queryselector,Javascript,Queryselector,我对JS很陌生。 有3个SVG,我正在尝试在鼠标结束时更改填充颜色。 当我使用querySelector('.svg')时,第一个非常有效。 我想全部改变这三个,不仅仅是第一个, 但是querySelectorAll('.svg')或GetElementsByCassName、getElementsbyTagName似乎都不起作用。有什么问题? 任何帮助都将不胜感激。 多谢各位 const icon=document.queryselectoral(“.svg”); icon.addEvent
const icon=document.queryselectoral(“.svg”);
icon.addEventListener(“鼠标悬停”,函数(){
icon.style.color=“#ED4264”;
});
icon.addEventListener(“mouseout”,函数(){
icon.style.color=“黑色”;
});代码>
不同之处在于.querySelector()
只选择一个元素,而.queryselectoral()
选择多个元素,这意味着您将得到一个带有.queryselectoral()
的列表,因此您需要循环并为每个SVG添加一个事件侦听器
const icons=document.queryselectoral(“.svg”)//使用“图标”,其复数形式
icons.forEach(icon=>{
icon.addEventListener(“鼠标悬停”,函数(){
icon.style.color=“#ED4264”;
});
icon.addEventListener(“mouseout”,函数(){
icon.style.color=“黑色”;
});
})
下面返回一组元素
const icon = document.querySelectorAll(".svg");
不能在节点列表上使用addEventListener
,但可以执行以下操作:
icon.forEach(function(elem) {
elem.addEventListener(...);
});
这应该为原始查询的每个元素附加一个事件侦听器。数组/DOM集合没有addEventListener
方法。非常感谢!但是你能解释一下(icon=>)代表什么吗?我知道=>的字面意思,但我不理解这段代码中的用法。这是一个箭头函数。你可以在这里阅读它,你会经常看到它的常规函数方式是function(icon){…}
@user13670138我在这里做的是循环列表中的每个元素,这就是为什么它被称为forEach
,并为列表中的每个元素添加一个事件侦听器