javascript - 如何将类添加到最近的元素

标签 javascript jquery ajax html

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

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

最佳答案

你需要改变选择器

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

或者 :has() selector也可以用作

Selects elements that contain at least one element that matches the specified selector.

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

关于javascript - 如何将类添加到最近的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44055952/

相关文章:

javascript - 如何访问 json API 中的某个字符串变量?

javascript - 如何在每次完成时停止重新计算值(value)?

javascript - 如何正确地将html表单数据编译为JSON对象

javascript - select2如何获取默认值

javascript - AJAX:事件监听器上的 $(this)

javascript - 如何在 html 中评估来自 AngularJS Controller 的变量?

javascript - 仅当写入文件时,babel-node 才会出现导入错误

javascript - 按特定顺序遍历表头?

php - jQuery/AJAX : How to determine when a host is offline

javascript - Django request.user 无法解析 SimpleLazyObject