Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将类添加到最近的元素_Javascript_Jquery_Ajax_Html - Fatal编程技术网

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

Javascript 如何将类添加到最近的元素,javascript,jquery,ajax,html,Javascript,Jquery,Ajax,Html,我有一个下拉菜单,我想验证子菜单是否在中有class,然后检查最近的ul中有class。菜单在中添加class。这是我的代码,但它为所有具有类.menu的ul添加了代码 <script> if($(".submenu").hasClass( "in" )) { $(".submenu").closest(".menu").addClass("in"); } </script> if($(“.submenu”).hasClass(“in”)){ $(“.

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

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

if($(“.submenu”).hasClass(“in”)){
$(“.submenu”).closest(“.menu”).addClass(“in”);
}
试试这个:

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

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

$('.submenu.in')。最近('.menu')。addClass(“in”);
要查看子元素,请使用以下命令:

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

$('.submenu.in.menu').first().addClass(“in”);

您需要更改选择器

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

或者也可以用作

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


我假设您希望以
子菜单
的子元素为目标,请尝试以下操作

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

if($(“.submenu”).hasClass(“in”)){
$(“.submenu”).children(“.menu”).addClass(“in”);
}

或者,如果你只想要一级孩子,这里有一个解决方案:

请发布你的HTML,你也可以共享HTML
最近的
找到最近的家长。编辑:哎呀,我看错了@FrankModica
.closest()
在DOM中搜索给定元素的所有祖先,而不仅仅是parent@j08691以及元素本身。