【问题标题】:Get another element with jQuery使用 jQuery 获取另一个元素
【发布时间】:2011-09-24 17:38:07
【问题描述】:

我构建了多级菜单,我的 HTML 结构如下所示:

<ul>
 <li>item 1</li>
 <li>item 2</li>
 <li>
   <ul> #this is set up as display: none;
     <li>subitem 1</li>
     <li>subitem 2</li>
     <li>subitem 3</li>
   </ul>
 </li>
 <li>item 3</li>
 <li>item 4</li>
</ul>

我正在解决一个问题,如何在item1上移动光标后显示所有子项。 我可以这样做:

   $('ul li ul').mouseover(function() {
      $(this).find('li').show();
   });

但这对我不起作用...谁能帮助我,请,如何为鼠标悬停事件显示 sub-ul 项目块?

谢谢

编辑:感谢你们的回复,感谢你们的帮助,我已经发现了我的愚蠢错误。

【问题讨论】:

  • 不清楚您是说uldisplay: none,还是ul 的孩子是display: none,这可能会有所不同。但是,如果未显示列表中的所有 li,我不确定父 ul 是否可用于 mouseover

标签: javascript jquery html css mouseover


【解决方案1】:

将其附加到父 LI,否则不会显示任何元素供 mouseover 触发。

还要注意,如果您在包含ULLI 中只有UL with the non-displayed LI's,那么mouseover 也可能很难做到。

$('ul li ul').parent().mouseover(function() {
    $(this).find('li').show();
});

http://jsfiddle.net/kSq4T/1/

【讨论】:

    【解决方案2】:

    您总是可以为您的项目元素添加一个类并执行以下操作:

           <ul>
     <li class="item">item 1</li>
     <li class="item">item 2</li>
     <li>
       <ul> #this is set up as display: none;
         <li>subitem 1</li>
         <li>subitem 2</li>
         <li>subitem 3</li>
       </ul>
     </li>
     <li>item 3</li>
     <li>item 4</li>
    </ul>
    
    $('#item').mouseover(function()
          $(this).children.show();
    

    【讨论】:

    • 你的意思是.children() 对吧?还有$('.item')?您确定这是 OP 解决问题所需要做的全部工作吗?
    • 如果你把它放在 (document).ready() 中应该可以工作。或者,您可以像这样向 li 标签添加 onclick 事件:
    • 然后编写您的 JavaScript 函数 showChildren(element){element.children.show();}
  • 您需要更仔细地阅读您的答案。您在LI 上拥有的item 类属性没有UL 子项,您的jQuery 选择器正在寻找id="item" 元素,而不是您的标记所指示的类,您的jQuery 代码缺少一些基本部分(例如,匿名函数上的大括号和右括号),您的children 应该是children()。因此,我认为如果没有显着改进,您的答案将无法奏效。 :)
  • 如果 jQuery 可用,则应避免使用内联点击处理程序。
  • 我同意只是把可能性放在那里。并对格式/语法错误感到抱歉。这个网站还是很新的,所以在这些小盒子里输入代码对我来说有点陌生。也许从现在开始我会从编辑器中剪切和粘贴:)
  • 【解决方案3】:

    $(document).ready写你的函数

    $(document).ready(function(){
    
       $('ul > li > ul').mouseover(function() {
          $(this).find('li').show();
       });
    
    });
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签