Javascript 上升后,V形图标不会下降

Javascript 上升后,V形图标不会下降,javascript,jquery,Javascript,Jquery,我试图切换一个V形图标,但什么也没发生 $("span:last").removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up"); 如果我在没有If else部分的情况下在slidetoggle下面添加了此代码,则图标将变为向上,但不会再次变为向下 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"&g

我试图切换一个V形图标,但什么也没发生

$("span:last").removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up");
如果我在没有
If else
部分的情况下在slidetoggle下面添加了此代码,则图标将变为向上,但不会再次变为向下

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">       </script>
//starting jquery
<script>

$("#header").ready(function(){
    $("#logo").hide();
    $("#header").click(function(){
    $("#logo").slideToggle("slow");

});


$("#down").click(function() {

    var $changeicon= $("down");

    if ($changeicon .hasclass("glyphicon-chevron-down")) {

        $changeicon.removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up");
    }
    else {
        $changeicon.removeClass("glyphicon-chevron-up").addClass("glyphicon-chevron-down");

    } 
    });
});
</script>
<body>
<button type ="button" class ="btn btn-success btn-lg" id ="header">
        <span class ="glyphicon glyphicon-home pull-left">    <strong>Header</strong>       </span><span class ="glyphicon glyphicon-chevron-down pull-right btn-small" id ="down"> </span></button>
<div class ="row">
         <div class ="col-lg-12" >
            <p id ="logo" style="background-color:#D9D9D9;">  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Logo</a><br/> &nbsp;&nbsp;&nbsp;&nbsp;<a href="#">Skype</a></p>

            </div> </div>
  </body>
  </html>

//启动jquery
$(“#头”).ready(函数(){
$(“#logo”).hide();
$(“#标题”)。单击(函数(){
$(“#徽标”)。滑动切换(“慢速”);
});
$(“#向下”)。单击(函数(){
变量$changeicon=$(“向下”);
if($changeicon.hasclass(“glyphicon雪佛龙向下”)){
$changeicon.removeClass(“字形图标向下”).addClass(“字形图标向上”);
}
否则{
$changeicon.removeClass(“glyphicon V形向上”).addClass(“glyphicon V形向下”);
} 
});
});
标题


更改此选项:

var $changeicon= $("down");
为此:

var $changeicon= $("#down");
您刚刚忘记了一个
#
符号,而
$changeicon
中将没有任何内容

更新:

您还缺少一个:
})
关闭标题就绪部分

因此jQuery应该是这样的:

$(function() {
    $("#header").ready(function() {
        $("#logo").hide();
        $("#header").click(function() {
            $("#logo").slideToggle("slow");
        });
    });
    $("#down").click(function() {
        var $changeicon = $("#down");
        if ($changeicon.hasclass("glyphicon-chevron-down")) {

            $changeicon.removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up");
        }
        else {
            $changeicon.removeClass("glyphicon-chevron-up").addClass("glyphicon-chevron-down");
        }
    });
});

为了使代码正常工作,您需要更改以下内容:

  • jquery单击选择器->更改
    $(“#向下”)。单击(函数()
    $(“#标题”)。单击(函数()

  • id为“down”的元素没有大小->来更正此更改var
    $changeicon=$(“down”);
    $changeicon=$(this)。查找(#down”);

  • class->
    $changeicon.hasclass(“glyphicon V形向下”)
    中的大写字母“C”需要是
    $changeicon.hasclass(“glyphicon V形向下”)

检查工作小提琴


另外,学习如何使用浏览器的调试器工具……它们非常有用,可以为您节省大量时间等待像我这样的人解决语法错误。

提示:
$changeicon.toggleClass('glypicon-chevron-up-glypicon-chevron-down'))
我把它放在代码中,但图标仍然没有切换。这是一个提示。它不应该解决您的问题,否则我会将它作为一个答案发布。您可以使用
.toggleClass()
而不是您的大if语句。我无法想象jQuery喜欢
$changeicon.hasclass(“glyphicon chevron down”)
非常感谢。当您遇到问题时,您应该非常非常了解如何使用JS控制台窗口。在您解决此问题之前,人们发布的所有内容都是无关的。谢谢。但问题没有解决。请参阅我更新的答案。您还有一个语法错误。在开发javascript时,请使用控制台检查错误。我仍然非常抱歉已使用,你能告诉我刚才在脚本部分中输入的完整代码吗?我在脚本部分中输入了上述代码,但V形图标没有更改。这是全部代码,我的答案中的内容。现在应该可以工作了。图标没有更改,徽标id切换,我想切换图标。使用此代码,我的图标正在更改,但不会向下移动。$(“#header”).ready(function(){$(“#logo”).hide();$(“#header”).click(function(){$(“#logo”).slideToggle(“slow”);$(“span:last”).removeClass(“glyphicon chevron down”).addClass(“glyphicon chevron up”);});它的工作……感谢@henser和所有其他人的帮助。