jquery里面代码不运行
展开全部
在
o_li.eq(i).mouseover(function(){
o_li.eq(i).addClass("hong");
})
这句中,对对象进行鼠标over事件的绑定。
绑定的是一个匿名的函数。
但是在这个函数里,由于作用域改变了,对象本身被视为是this。
所以只要改为
o_li.eq(i).mouseover(function(){
$(this).addClass("hong");
})
就可以了。
你感受一下。
o_li.eq(i).mouseover(function(){
o_li.eq(i).addClass("hong");
})
这句中,对对象进行鼠标over事件的绑定。
绑定的是一个匿名的函数。
但是在这个函数里,由于作用域改变了,对象本身被视为是this。
所以只要改为
o_li.eq(i).mouseover(function(){
$(this).addClass("hong");
})
就可以了。
你感受一下。
追问
但是这样之后 怎么让下面对应的 DIV显示出来呢??
追答
建议你这么做。。
<script>
$(function(){
var o_li=$("#ii1 ul li");
for(var i=0;i<o_li.length;i++)
{
o_li.eq(i).mouseover(function(i){
var obj = $(this);
obj.addClass("hong");
$("#div"+obj.attr("ref")).css("visibility","visible");
}).mouseout(function(){
var obj = $(this);
obj.removeClass("hong");
$("#div"+obj.attr("ref")).css("visibility","hidden");
});
}
})
</script>
然后下面的元素要增加点关联。比如:
<ul>
<li ref="0">111</li>
<li ref="1">222</li>
<li ref="2">333</li>
<li ref="3">444</li>
</ul>
<div id="div0">111</div>
<div id="div1">222</div>
<div id="div2">333</div>
<div id="div3">444</div>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询