我是JavaScript和jQuery(我是一名java程序员)的业余爱好者,我想知道在这种比较的背景下真正发生了什么:
if (current == $("#hero div:last") )
我认为如果它们是同一个对象就会返回true,就像在Java中发生一样,因为它只是内存中的相同地址(html中只有一个带有当前类的项),但是代码不起作用,从未满足条件。然后我想,因为多个对象转到一个var使它成为一个数组,可能是“当前的var实际上是一个大小为1的数组,所以我改为:
if (current[0] == $("#hero div:last") )
但这也不起作用。有人可以解释实际发生了什么,或者我是否完全忽略了这一点?以下是代码的其余部分:
$("document").ready(function(){
setInterval("rotate()",500);
});
function rotate() {
var current = $("#hero div.current");
if (current == $("#hero div:last") ){
var next = $("#hero div:first");
}else {
var next = current.next();
}
current.removeClass("current").addClass("previous");
next.addClass("current");
}