Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
Jquery 如果div有活动类,则查询add.css_Jquery_Html_Css - Fatal编程技术网

Jquery 如果div有活动类,则查询add.css

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代码有问题:

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()


浏览器将仅呈现第一个Id
Id=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();
});