Jquery 如果div有活动类,则查询add.css
我对这个jquery代码有问题:Jquery 如果div有活动类,则查询add.css,jquery,html,css,Jquery,Html,Css,我对这个jquery代码有问题: jQuery(document).ready(function($) { if ($('#left-menu').hasClass('active')){ console.log(true); $("#submenu").css("display", "block"); }; }); 使用此函数,我需要将.css显示块添加到子菜单中 <ul> <li> <a
jQuery(document).ready(function($) {
if ($('#left-menu').hasClass('active')){
console.log(true);
$("#submenu").css("display", "block");
};
});
使用此函数,我需要将.css显示块添加到子菜单中
<ul>
<li>
<a class="active" id="left-menu">Test</a>
<ul style="display: none" id="submenu">
<li>test</li>
<li>test</li>
<ul>
</li>
<li>
<a id="left-menu">Test 2 </a>
<ul style="display: none" id="submenu">
<li>test</li>
<li>test</li>
<ul>
</li>
</ul>
-
试验
- 试验
- 试验
-
测试2
- 试验
- 试验
现在我将描述问题所在。当第一个链接处于活动状态时,一切正常,jquery add.css显示:block。但是当第二个链接jquery处于活动状态时,不要添加.css display:block
有人能帮我吗?多谢各位 ID必须是唯一的,所以改用:(并关闭所有UL标签) 顺便说一句,您可以使用:
$(“.left menu.active”).next(“.submenu”).show()代码>
浏览器将仅呈现第一个IdId=left菜单
浏览器似乎忽略了第二个ID,因为这是输出HTML:
如果确实需要元素上的附加标识符,则应该考虑使用多个类名或数据属性来对应附加数据
测试
ID在文档上下文中必须是唯一的。使用类instead@DhavalMarthak这不是语法错误您有ID重复-将其更改为CLASSALL
没有结束标记。那里也有错误。我应该更改哪个ID?左菜单或子菜单?我尝试了你的版本,但它不工作。当我看你的演示时,它对我来说不太合适。更新后的答案应该是next()
而不是find()
我的错!感谢A.Wolff和其他人对您的快速帮助。你的解决方案完全符合我的需要。再次感谢你。
<ul>
<li>
<a class="left-menu">Test</a>
<ul style="display: none" class="submenu">
<li>test</li>
<li>test</li>
</ul>
</li>
<li>
<a class="left-menu active">Test 2 </a>
<ul style="display: none" class="submenu">
<li>test</li>
<li>test</li>
</ul>
</li>
</ul>
jQuery(document).ready(function($) {
$(".left-menu.active").next('.submenu').show();
});