【问题标题】:How write jQuery selector for numeric list elements without link如何为没有链接的数字列表元素编写 jQuery 选择器
【发布时间】:2020-05-14 12:02:34
【问题描述】:

我必须在 jQuery 中编写一个特定的选择器,它必须选择具有类“b”且内部没有链接的数字列表(具有给定的类“a”)中的所有元素。他们给了他们一定的课程(这给了他们一定的格式)。

例如对于这样的列表:

<ol class="a">
    <li><a href="https://stackoverflow.com/">List element</a></li>
    <li class="b"><a href="https://stackoverflow.com/">List element</a></div></li>
    <li class="b">List element</a></li>
</ol>

只有最后一个元素应该获得该类。

虽然当我尝试这样做时:

$('ol.a li.b:not(a)').addClass('someclass');

然后第二个元素也获得该类。

我也尝试在 ":not(a)" 之前使用空格来执行此操作,但这样就无法获得该类。

【问题讨论】:

    标签: jquery-selectors


    【解决方案1】:

    这就是你要找的吗?我想我明白你在问什么。如果不是,请告诉我,以便我修改答案。 :)

    本质上'ol.a li.b:not(:has(a))' 意味着搜索具有a 类的有序列表,以及具有b 类的任何后代li 项目任何锚定子a

    const nonLinks = $('ol.a li.b:not(:has(a))');
    
    nonLinks.addClass("red");
    .red {
      color: red;
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <ol class="a">
            <li><a href="https://stackoverflow.com/">First</a></li>
            <li class="b"><a href="https://stackoverflow.com/">Second Element</a></li>
            <li class="b">Shouldn't Be Included</li>
    </ol>

    【讨论】:

      猜你喜欢
      • 2013-07-17
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多