Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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 jQuery-每次单击时在类之间切换?_Javascript_Jquery_Css_Jquery Ui - Fatal编程技术网

Javascript jQuery-每次单击时在类之间切换?

Javascript jQuery-每次单击时在类之间切换?,javascript,jquery,css,jquery-ui,Javascript,Jquery,Css,Jquery Ui,我正在制作一个从页面左侧弹出的边栏。切换侧栏的元素是引导导航栏上的导航栏品牌按钮。我在标签内有一个作为图标,这两个标签周围有一个作为单击区域。看起来是这样的: <div id = "sheath-toggle" class = "sheath-toggle-icon"> <a class="navbar-brand" href = "#"><i class = "glyphicon glyphicon-menu-hamburger"></i>

我正在制作一个从页面左侧弹出的边栏。切换侧栏的元素是引导导航栏上的导航栏品牌按钮。我在
标签内有一个
作为图标,这两个标签周围有一个
作为单击区域。看起来是这样的:

<div id = "sheath-toggle" class = "sheath-toggle-icon">
    <a class="navbar-brand" href = "#"><i class = "glyphicon glyphicon-menu-hamburger"></i></a>
</div>
这对我来说很好,直到我决定在页面上的其他位置为另一个图标添加另一个
。我发现我的脚本也在更改这个图标上的类,而它应该只在切换元素上切换图标。如何重新编写此脚本以仅影响切换元素上的类而不影响页面上的其他图标?提前谢谢你的帮助

$("i") selects all the icons on your page.
你需要像这样重写你的代码-

$(".sheath-toggle-icon").click(function() {
    var icon = $(this).find("i");
    if (icon.hasClass("glyphicon-menu-hamburger") ) {
        icon.switchClass("glyphicon-menu-hamburger", "glyphicon-menu-left");
    } else if ( icon.hasClass("glyphicon-menu-left") ) {
        icon.switchClass("glyphicon-menu-left", "glyphicon-menu-hamburger");
    }
})
你需要像这样重写你的代码-

$(".sheath-toggle-icon").click(function() {
    var icon = $(this).find("i");
    if (icon.hasClass("glyphicon-menu-hamburger") ) {
        icon.switchClass("glyphicon-menu-hamburger", "glyphicon-menu-left");
    } else if ( icon.hasClass("glyphicon-menu-left") ) {
        icon.switchClass("glyphicon-menu-left", "glyphicon-menu-hamburger");
    }
})

感谢Tushar Arora提供了这个更正的脚本

$(".sheath-toggle-icon").click(function() {
    var icon = $(this).find("i");
    if (icon.hasClass("glyphicon-menu-hamburger") ) {
        icon.switchClass("glyphicon-menu-hamburger", "glyphicon-menu-left");
    } else if ( icon.hasClass("glyphicon-menu-left") ) {
        icon.switchClass("glyphicon-menu-left", "glyphicon-menu-hamburger");
    }
})

感谢Tushar Arora提供了这个更正的脚本

$(".sheath-toggle-icon").click(function() {
    var icon = $(this).find("i");
    if (icon.hasClass("glyphicon-menu-hamburger") ) {
        icon.switchClass("glyphicon-menu-hamburger", "glyphicon-menu-left");
    } else if ( icon.hasClass("glyphicon-menu-left") ) {
        icon.switchClass("glyphicon-menu-left", "glyphicon-menu-hamburger");
    }
})

检查
toggleClass
functioncheck
toggleClass
function立即尝试此操作。我只是觉得.find()只寻找下降的孩子,所以我很困惑为什么它会找到所有“I”的编辑:这就像一个符咒。它和我的没有什么不同,所以我不明白。但是非常感谢你!我的代码应该基于这样一个事实,即我正在寻找具有特定类的“I”。为什么它会发现其他人没有那门课?现在就试试这个。我只是觉得.find()只寻找下降的孩子,所以我很困惑为什么它会找到所有“I”的编辑:这就像一个符咒。它和我的没有什么不同,所以我不明白。但是非常感谢你!我的代码应该基于这样一个事实,即我正在寻找具有特定类的“I”。为什么它会发现其他人没有那门课?