结合mouseenter和if语句?

gia*_*ipz 0 javascript

假设我有2个div元素.如果我mouseenter超过第一个元素,我console.log是一个消息,如果是第二个元素,则是另一个消息.

为什么它不适用于下面的纯Javascript?

这种事只有工作,如果我添加事件侦听到每一个人的div如div[0].onmouseenter = function(){}和div[1].onmouseenter = function(){}

提前致谢!

HTML

<div>Test</div>
<div>Test1</div>
Run Code Online (Sandbox Code Playgroud)

使用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);
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*rpe 5

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);
}
Run Code Online (Sandbox Code Playgroud)
<div>Test</div>
<div>Test1</div>
Run Code Online (Sandbox Code Playgroud)