【问题标题】:jquery - select li inside a ul that is inside uljquery - 在 ul 中的 ul 中选择 li
【发布时间】:2013-12-27 02:06:00
【问题描述】:

我有这个:

    <ul>
        <li>
            <ul>
                <li><a>Hello world</a></li>
                <li><a>hi</a></li>
            </ul>
       </li>
       <li><a>hi</a></li>
   </ul>

我需要选择第二个 ul 中的 li(例如,有“Hello world”字样的那个)。

我如何用 jQuery 做到这一点?

我试过了:

$('ul li:eq(1) li:eq(1)').doSomthing();

【问题讨论】:

    标签: jquery jquery-selectors html-lists


    【解决方案1】:

    这很简单:

    ul ul li
    

    虽然这不会检查立即嵌套;选择器中的第二个ul 很可能嵌套得更深。您可以使用&gt; 来限制它:

    ul > li > ul > li
    

    要只获取第一个 li,它可能看起来像这样:

    ​$("ul > li > ul > li:first").css("background", "red");​​​​​​​​​​
    

    您尝试使用:eq 伪选择器的方法看起来更像这样:

    ​$("li:eq(0) li:eq(0)").css("background", "red");​​​​​​​​​​
    

    记住索引是从零开始的,所以第一项总是索引 0。

    【讨论】:

    • 谢谢。我需要的是在其中一个 li 的 a 标签中添加一些东西,而不必是第一个。查看我的更新。
    • @Ovi 使用:eq 选择器将允许您抓取任意li 元素,从而定位其中的a 元素。
    【解决方案2】:

    最省事的是使用直接子选择器&gt;

    $("ul > li > ul")
    

    【讨论】:

      【解决方案3】:
      try this it will work as you wish
      

      $('ul li>ul li:eq(0)').css('border','1px solid red');

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-16
        • 2022-12-20
        • 1970-01-01
        • 2021-07-03
        • 1970-01-01
        • 1970-01-01
        • 2021-11-25
        • 2012-10-30
        相关资源
        最近更新 更多