Javascript 上升后,V形图标不会下降
我试图切换一个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
$("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;"> <a href="#">Logo</a><br/> <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->
中的大写字母“C”需要是$changeicon.hasclass(“glyphicon V形向下”)
$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和所有其他人的帮助。