繁体   English   中英

如何将Class添加到最近的元素

[英]how to addClass to closest element

我有一个下拉菜单,我想验证是否子菜单hasClass in ,那么最接近的ul拥有一流的.menu添加类in 这是我的代码,但它为所有具有类.menu而不是最接近的ul添加。

<script>
  if($(".submenu").hasClass( "in" )) {
    $(".submenu").closest(".menu").addClass("in");
  }
</script>

您需要更改选择器

$(".submenu.in").closest(".menu").addClass("in");

或者:has()选择器也可以用作

选择包含至少一个与指定选择器匹配的元素的元素。

$(".menu:has(.submenu.in)").addClass("in");

尝试这个:

要查找 DOM,请使用以下命令:

<script>
    $('.submenu.in').closest('.menu').addClass("in");
</script>

要查看子元素,请使用以下命令:

<script>
    $('.submenu.in .menu').first().addClass("in");
</script>

我假设你想定位.submenu的子元素,所以试试这个

<script>
  if($(".submenu").hasClass( "in" )) {
    $(".submenu").children(".menu").addClass("in");
  }
</script>

或者,如果您只想要一级子级,这里有一个解决方案: How to select only the first level children in JQuery

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM