【问题标题】:How to select all <li> in an <ul> with a classname "nav"?如何选择类名为“nav”的 <ul> 中的所有 <li>?
【发布时间】:2012-12-13 05:58:53
【问题描述】:

因为我是 jQuery 新手,所以我很难做到这一点,但我不确定我正在处理的教程是否有问题,或者是否是我,但我正在使用以下代码选择所有 li在具有导航类的 ul 中。

$(".nav ul li");

这是正确的吗?有人能指出我正确的方向吗?

【问题讨论】:

  • 请记住,jQuery 选择器就像 css 选择器。

标签: javascript jquery css jquery-selectors


【解决方案1】:

建设性地,

  1. 所有ul元素:

    $("ul")
    
  2. 所有类名为navul元素:

    $("ul.nav")
    
  3. 类名nav的所有ul元素下的所有li元素:

    $("ul.nav li")
    

【讨论】:

  • 太棒了!谢谢! $("ul.nav li") 工作得很好。仍在试图解决这个问题以及为什么会这样。 :)
  • @KenBarlo:你可以通过学习 css 来了解它是如何工作的,更多信息在这里 css.maxdesign.com.au/selectutorial
【解决方案2】:

这里有一个技巧可以帮助人们学习选择器:

使用 Chrome 浏览器 打开任意页面 右键单击页面并选择“检查元素” 在元素检查器中选择控制台选项卡

您可以直接在此控制台中键入命令。只尝试几个选择器,看看你会得到什么。如果您键入 $('p') 并按回车键,它将列出所有 p 元素。如果您输入 $('ul.nav li),它将显示该选择器是否有效(返回任何内容)。如果命令没有产生有效的选择器,它将返回 []。

【讨论】:

    【解决方案3】:

    element selector之后追加:

    $("ul.nav li");
    

    这会选择&lt;ul class="nav"&gt; 元素中的所有&lt;li&gt; 元素

    查看文档:http://api.jquery.com/class-selector/

    【讨论】:

      【解决方案4】:

      选择 ul 中所有具有 nav 类的 li

      像这样,用.nav类选择ul中的所有li:

      $('ul.nav li')
      

      【讨论】:

        【解决方案5】:

        ul 中的所有 li 都有一个 nav 类:

        $("ul.nav li");
        

        【讨论】:

          【解决方案6】:
          $('ul.nav li')
          

          按照建议选择&lt;ul class="nav" /&gt; 中的所有&lt;li /&gt;。 如果您只希望直系子女使用:

          $('ul.nav > li')
          

          https://developer.mozilla.org/en-US/docs/Web/CSS/Child_combinator

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-01-03
            • 1970-01-01
            • 2013-06-19
            • 1970-01-01
            • 2011-10-07
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多