2017-03-14 6 views
0

Angenommen, ich habe 2 div Elemente. Wenn ich mouseenter über das erste Element, I console.log eine Nachricht, und wenn die zweite Elemente, eine andere Nachricht.kombiniert mouseenter mit if-Anweisung?

Wie funktioniert es nicht mit dem puren Javascript unten?

Es funktioniert nur, wenn ich einen Ereignis-Listener zu jedem einzelnen divs z. div[0].onmouseenter = function(){} und div[1].onmouseenter = function(){}

Vielen Dank im Voraus!

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); 
} 

Antwort

5

div[i] ist ein Verweis auf die div. Du vergleichst es mit einer Nummer. Sie müssen stattdessen nur i vergleichen:

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>

+0

wow danke ... wahrsten Sinne des Wortes über den Kopf ging ... – giantqtipz

Verwandte Themen