http://jsfiddle.net/PhilFromHeck/KzSxT/
在这个小提琴中,您可以在Javascript的第38行看到我尝试进行的比较不起作用。我相信是因为一个变量是一个对象,另一个是元素。有没有人对我如何找到这两者之间的匹配有任何建议?
menuID[0] = document.getElementById('menuOne');
menuID[1] = document.getElementById('menuTwo');
menuID[2] = document.getElementById('menuThree');
menuID[3] = document.getElementById('menuFour');
$('.menu').mouseenter(function () {
for (var i = 0; i < 3; i++) {
if(menuID[i] == $(this)){
//this condition is not met, there's an alert which will add more detail in the fiddle
}
}
}
最佳答案
方法document.getElementById
返回DOM元素,而不是jQuery对象。在mouseenter
事件处理程序中,this
也引用DOM元素。
因此,为了比较它们,您不应该将this
转换为jQuery对象:
if (menuID[i] === this) { ... }