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