为 JQuery 中每个父类的第一个元素添加类

Posted

技术标签:

【中文标题】为 JQuery 中每个父类的第一个元素添加类【英文标题】:Add classes for the first element on each parent class in JQuery 【发布时间】:2021-08-30 03:13:00 【问题描述】:

我想为这个“menu-item-has-children”类中带有“ul”的每个“FIRST”元素添加一个类“my-class-to-add”。

我用这个试过,但只添加了第二个菜单。感谢您的帮助。

   <script>
            jQuery(document).ready(function ($) 
                $('.nav-menu .menu-item-has-children ul:eq(1)').each(function() 
                        $(this).addClass('my-class-to-add');
                );
          );
  </script>

【问题讨论】:

请发布您的尝试minimal reproducible example,使用[&lt;&gt;] sn-p 编辑器记录输入和预期输出。 api.jquery.com/first-child-selector 这能回答你的问题吗? How to select first child with jQuery? 【参考方案1】:

看不到你的 html 会让这更难,但也许

$(function() 
  $('.nav-menu .menu-item-has-children').each(function() 
    $('ul:eq(0)',this).addClass('my-class-to-add');
  )
);
.my-class-to-add 
  color: red
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="nav-menu">
  <div class="menu-item-has-children">
    <ul>
      <li>First</li>
    </ul>
    <ul>
      <li>second</li>
    </ul>
  </div>
  <div class="menu-item-has-children">
    <ul>
      <li>First</li>
    </ul>
    <ul>
      <li>second</li>
    </ul>
  </div>
</div>

【讨论】:

以上是关于为 JQuery 中每个父类的第一个元素添加类的主要内容,如果未能解决你的问题,请参考以下文章

在jquery中为某个类的每个元素运行一个if语句

jQuery事件委托为动态添加的全部元素移除类名

jquery如何获取第一个子元素

jQuery 遍历方法

jquery怎么删除第一个子元素

jquery 请问我怎么获得每个ul的第 二个 或者第三格li元素呢?