结合mouseenter和if语句?

时间:2017-03-14 10:47:56

标签: javascript

假设我有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);
}

1 个答案:

答案 0 :(得分: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);
}
<div>Test</div>
<div>Test1</div>