Javascript 使用jQuery获取另一个元素

Javascript 使用jQuery获取另一个元素,javascript,jquery,html,css,mouseover,Javascript,Jquery,Html,Css,Mouseover,我构建了多级菜单,我的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&l

我构建了多级菜单,我的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>
   $('ul li ul').mouseover(function() {
      $(this).find('li').show();
   });
       <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();
但这对我不起作用。。。有谁能帮助我,请,如何显示分ul块的项目为鼠标悬停事件

多谢各位


编辑:谢谢你们的回复,伙计们,多亏了你们的帮助,我已经找到了我愚蠢的错误。

你们可以在你们的项目元素中添加一个类,并执行如下操作:

<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>
   $('ul li ul').mouseover(function() {
      $(this).find('li').show();
   });
       <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();

您始终可以向item元素添加一个类,并执行如下操作:

<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>
   $('ul li ul').mouseover(function() {
      $(this).find('li').show();
   });
       <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();
用$document.ready编写函数

用$document.ready编写函数

将其附加到父LI,否则不会显示鼠标悬停所需的元素

还要注意的是,如果包含UL的LI中的所有内容都是,那么也很难将鼠标移到上面

$('ul li ul').parent().mouseover(function() {
    $(this).find('li').show();
});
将其附加到父LI,否则不会显示鼠标悬停所需的元素

还要注意的是,如果包含UL的LI中的所有内容都是,那么也很难将鼠标移到上面

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

现在还不清楚你是说ul是display:none,还是说ul的子项是display:none,这可能会有所不同。但是,如果列表中的所有li都没有显示,我不确定mouseover是否可以使用父ul。看,不清楚您是说ul为display:none,还是说ul的子级为display:none,这可能会有所不同。但是,如果列表中的所有li都没有显示,我不确定mouseover是否可以使用父ul。明白你的意思。孩子们,对吗?和$'.item'?您确定这就是OP解决问题所需要做的全部工作吗?如果您将其放入document.ready中,这应该可以工作。或者,您可以向li标记添加onclick事件,如下所示:然后编写javascript函数showChildrenelement{element.childrenelement.show;}您需要更仔细地阅读答案。LI上的item类属性没有UL子元素,jQuery选择器正在查找id=item元素,而不是标记指示的类,jQuery代码缺少一些基本部分,例如匿名函数上的花括号和右括号,并且子元素应该是子元素。因此,我认为如果没有重大改进,你的答案是行不通的如果jQuery是可用的,那么应该避免内联的点击处理程序。我同意只是把可能性放在那里。很抱歉出现格式/语法错误。对于这个网站来说还是很新的,所以在这些小框中输入代码对我来说有点陌生。也许从现在起我会从编辑那里剪切粘贴:你的意思是,孩子们,对吗?和$'.item'?您确定这就是OP解决问题所需要做的全部工作吗?如果您将其放入document.ready中,这应该可以工作。或者,您可以向li标记添加onclick事件,如下所示:然后编写javascript函数showChildrenelement{element.childrenelement.show;}您需要更仔细地阅读答案。LI上的item类属性没有UL子元素,jQuery选择器正在查找id=item元素,而不是标记指示的类,jQuery代码缺少一些基本部分,例如匿名函数上的花括号和右括号,并且子元素应该是子元素。因此,我认为如果没有重大改进,你的答案是行不通的如果jQuery是可用的,那么应该避免内联的点击处理程序。我同意只是把可能性放在那里。很抱歉出现格式/语法错误。对于这个网站来说还是很新的,所以在这些小框中输入代码对我来说有点陌生。从现在起,我可能会从编辑器中剪切和粘贴: