日期:2014-05-17  浏览次数:20817 次

求教一个JQUERY的取值问题
这样的,我有一个由很多DL标签(下面有一个DT标签,4个DD标签,每个DD标签里有一个A标签)组成的DIV。我想用JQUERY做一个鼠标移入,点击,移出的事件。想实现的效果就是鼠标移上去的时候A标签字体显示蓝色,移出的时候显示黑色,如果A标签的颜色已经是红色的,则移动移出都不做修改,我写的代码如下,但是不是报错,就是鼠标移出后颜色不改变,求高人指点!

$("A").mouseover(function(){
if($(this).css("color")!="red"){
$(this).css("color","blue");
}

});

$("A").mouseout(function(){
var list = $("A");
for(var i=1;i <list.length;){
if($("A")[i].css("color")!="red"){
$("A")[i].css("color","black");
}
i = i+ 1;
}
  }

------解决方案--------------------
还有for循环应该从0开始。
------解决方案--------------------
$("A").mouseout(function(){
$("A").css("color","black");//设定需要的color
$(this)csss("color","red");//设定需要的color
}

不用循环
------解决方案--------------------
$("A")[i]会把jquery对象转成document对象就不能用css()方法了
不需要循环就可以直接判断
if($("A").css("color")!="red"){
$("A").css("color","black");
}

------解决方案--------------------
解决了吗?这个方法这样写就好
$("A").mouseout(function(){ 
if($("A").css("color")!="red"){
$("A").css("color","black");
}
});