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

chr*_*227 2 html javascript ajax jquery

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

<script>
  if($(".submenu").hasClass( "in" )) {
    $(".submenu").closest(".menu").addClass("in");
  }
</script>
Run Code Online (Sandbox Code Playgroud)

Sat*_*pal 6

您需要更改选择器

$(".submenu.in").closest(".menu").addClass("in");
Run Code Online (Sandbox Code Playgroud)

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

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

$(".menu:has(.submenu.in)").addClass("in");
Run Code Online (Sandbox Code Playgroud)