jquery事件触发问题

<divclass="mnav"><ul><liclass="mnav1">1</li><divid="hidden"><ul><li>..</li></ul></div... <div class="mnav">
<ul>
<li class="mnav1">1</li>
<div id="hidden" > <ul >
<li >..</li>
</ul></div>

<li class="mnav1" >2</li>
<div id="hidden" class="dp">
<ul>
</ul>
</div>
<li class="mnav1" >3</li>
<div id="hidden" >
<ul>
<li>...</li>
</ul>

</div>
</ul>
</div>

jquery代码:
$("li.mnav1").mouseover(function(){
$(this).next("div").slideDown("fast");}) //下滑
$("#hidden").mouseout(function(){
$(this).siblings("div").slideUp("fast"); //收起

});
不知道为什么只有第slideDown都是可以的,但是slideUp只有第一个#hidden的mouseout事件是可以的,其他几个都是移动没有反映的。这是为什么?
展开
 我来答
度高岑00I
2013-09-11 · TA获得超过161个赞
知道答主
回答量:109
采纳率:100%
帮助的人:111万
展开全部

你的ul标签用的很奇怪啊,虽然浏览器有一定容错能力,但是有的问题,即使执行了,结果也很奇怪

正确的格式是

<div>
<ul>
<li><ul><li><div></div></li><li></li></ul></li>
<li></li>
</ul>
</div>

你的是

<ul>
<li class="mnav1">1</li>
<div id="hidden" > <ul  >    <!--最好不要把div直接当做ul的子标签的-->
 <li >..</li>
 </ul></div>

你的错误关键在于

$("p").siblings(".selected");

siblings,它的作用是p 元素的所有类名为 "selected" 的所有同胞元素

同胞元素,div不会是li的同胞的,用next试试,不然你回到父标签,在find那个子元素

不懂可追问哦

追问
应该这个问题,我之前的代码是这样也不行
$("li.mnav1").mouseover(function(){
$(this).next("div").slideDown("fast");
$(this).mouseout(function(){
$("#hidden").slideUp("fast");
});
});
追答
//改了一下,突然想起,jquery一次定义鼠标放置,离开的事件为hover,如下
$("li.mnav1").hover(function(){
        $(this).next("div").slideDown("fast"); },

         function(){  $("#hidden").slideUp("fast");     //这就是out了
        }
  );
// 这个我试过成立的,mouseout在query不能直接用
墙头红杏俏枝头
2013-09-11 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:129万
展开全部
mouseout写出来
追问
什么意思?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BB果果
2013-09-11 · TA获得超过171个赞
知道小有建树答主
回答量:122
采纳率:0%
帮助的人:97.6万
展开全部
可以尝试用hover事件写;看看效果如何
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式