Javascript 如何将类添加到最近的元素
我有一个下拉菜单,我想验证子菜单是否在中有classJavascript 如何将类添加到最近的元素,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”)){ $(“.
,然后检查最近的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以及元素本身。