假设我有 2 个 div 元素。如果我在第一个元素上 mouseenter
,我会 console.log
一条消息,如果是第二个元素,则会生成另一条消息。
为什么它不能与下面的纯 Javascript 一起工作?
只有当我向每个单独的 div 添加事件监听器时,它才会起作用
例如div[0].onmouseenter = function(){}
和 div[1].onmouseenter = function(){}
提前致谢!
HTML
<div>Test</div>
<div>Test1</div>
Javascript
var div = document.querySelectorAll("div");
var test = function(i){
div[i].onmouseenter = function(){
if(div[i]===0){
console.log("success");
} else if (div[i]===1){
console.log("another success");
}
}
}
for(i=0;i<div.length;i++){
test(i);
}
最佳答案
div[i]
是对 div 的引用。你正在将它与一个数字进行比较。相反,您只需要比较 i
:
var div = document.querySelectorAll("div");
var test = function(i){
div[i].onmouseenter = function(){
if(i===0){
console.log("success");
} else if (i===1){
console.log("another success");
}
}
}
for(i=0;i<div.length;i++){
test(i);
}
<div>Test</div>
<div>Test1</div>
关于javascript - 将 mouseenter 与 if 语句结合起来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42783888/