jquery 中$(this)和function(e)中e 的问题
1、我一直不是很明白function(e)传递的是什么参数,求指教,例如我下面的代码中的e是???2、我用jquery实现鼠标移动时改变背景的颜色的效果,其中用到了$(t...
1、我一直不是很明白function(e) 传递的是什么参数,求指教,例如我下面的代码中的e是???
2、我用jquery实现鼠标移动时改变背景的颜色的效果,其中用到了$(this),我知道$(this)是jquery对象,但是使用时不知道为什么出错了
<ul class="navTree">
<li id="Customer1" >
<dl>
<dt class="" >客户管理</dt>
<dd id="Customer_1" >今天需联系</dd>
<dd id="Customer_2" >3天内需联系</dd>
<dd id="Customer_3" >7天需联系</dd>
<dd id="Customer_4" >30天需联系</dd>
<dd id="Customer_5" >30天需联系</dd>
</dl>
</li>
<li id="Bill_1" class="" ><dl><dt>发票</dt></dl></li>
<li id="Compensation_1" class=" " ><dl><dt>补偿</dt></dl></li>
</ul>
jquery:
$(".navTree li").on("mouseover",function(e){
$(this).find("dt").removeClass("navTree-selected");
$(this).find("dd").removeClass("navTree-selected");
e.target.className="navTree-selected";
})
jquery 中当使用$(this).find("dt").removeClass("navTree-selected"),鼠标移动时,有的class去掉了“navTree-selected”,有的没有去掉,当我把$(this)替换成 $(".navTree li")时,就没有问题了,只有鼠标移上去的那个标签class= .navTree li,请问这个到底是怎么回事 展开
2、我用jquery实现鼠标移动时改变背景的颜色的效果,其中用到了$(this),我知道$(this)是jquery对象,但是使用时不知道为什么出错了
<ul class="navTree">
<li id="Customer1" >
<dl>
<dt class="" >客户管理</dt>
<dd id="Customer_1" >今天需联系</dd>
<dd id="Customer_2" >3天内需联系</dd>
<dd id="Customer_3" >7天需联系</dd>
<dd id="Customer_4" >30天需联系</dd>
<dd id="Customer_5" >30天需联系</dd>
</dl>
</li>
<li id="Bill_1" class="" ><dl><dt>发票</dt></dl></li>
<li id="Compensation_1" class=" " ><dl><dt>补偿</dt></dl></li>
</ul>
jquery:
$(".navTree li").on("mouseover",function(e){
$(this).find("dt").removeClass("navTree-selected");
$(this).find("dd").removeClass("navTree-selected");
e.target.className="navTree-selected";
})
jquery 中当使用$(this).find("dt").removeClass("navTree-selected"),鼠标移动时,有的class去掉了“navTree-selected”,有的没有去掉,当我把$(this)替换成 $(".navTree li")时,就没有问题了,只有鼠标移上去的那个标签class= .navTree li,请问这个到底是怎么回事 展开
3个回答
展开全部
你把事件绑定在$(".navTree li").on 上面的哇, $(".navTree li")所以这儿肯定可以撒
你的 e.target.className="navTree-selected" 当中的 e 是跟你绑定事件的元素有关系的
你可以试下给所有的元素都绑定 mouseover 事件 $(".navTree *").on 应该 dt dd 就也会生效了
你的 e.target.className="navTree-selected" 当中的 e 是跟你绑定事件的元素有关系的
你可以试下给所有的元素都绑定 mouseover 事件 $(".navTree *").on 应该 dt dd 就也会生效了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你自己说的很明白了
$(this).find('dt')他只是在找当前对象下的“dt”并不会找 其他li下的dt
而$(".navTree li")是所有li对象的集合 这样下的find就是 所有li下的 dt
$(this).find('dt')他只是在找当前对象下的“dt”并不会找 其他li下的dt
而$(".navTree li")是所有li对象的集合 这样下的find就是 所有li下的 dt
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询