我想在点击时更改课程。
该课程为icon icon_plus
,当我点击时,我希望该课程为icon icon_minus-06
,如果再次点击原来的
我的HTML代码
<a href="#" id="top-bar-trigger" class="top-bar-trigger"><i id="icon" class="icon icon_plus"></i></a>
我的javascript代码:
<script>
$("a.top-bar-trigger").click(ontop);
function ontop() {
$("#icon").toggleClass("icon icon_minus-06");
}
</script>
我对javascript非常弱
感谢您的帮助。
答案 0 :(得分:11)
尝试像这样写toggleClass
,
$("#icon").toggleClass("icon_plus icon_minus-06");
由于您将icon
类保留为静态类。
另外作为旁注,尝试将代码包装在文档的ready处理程序中。如果您将脚本保留在标头标记内,则选择器将失败。但是,如果您已将脚本放在body标记的末尾,则没有问题。无论如何,它更好地使用文档的就绪处理程序,因为它会使代码更具程序性。
代码应该是这样的,
(function(){
function ontop() {
$("#icon").toggleClass("icon_plus icon_minus-06");
}
$(function(){
$("a.top-bar-trigger").click(ontop);
});
})();
答案 1 :(得分:0)
您可以通过两种方式解决此问题。
1)使用AddClass&amp; RemoveClass方法
$("a.top-bar-trigger").click(changeClass);
function changeClass() {
if($("#icon").hasClass('icon_plus')){
$("#icon").removeClass("icon_plus").addClass("icon_minus-06");
}
else{
$("#icon").removeClass("icon_minus-06").addClass("icon_plus");
}
}
2)使用ToggleClass
$("a.top-bar-trigger").click(changeClass);
function changeClass() {
$("#icon").toggleClass("icon_plus icon_minus-06");
}
您可以在此处查看JSFiddle链接
答案 2 :(得分:0)
您可以尝试这种方式:
$("a.top-bar-trigger").click(function(){
$(".icon").toggleClass("icon_minus-06");
});
答案 3 :(得分:0)
问题已解决
如果在DOM准备就绪后运行的代码,你可以看到它在这里工作:jsfiddle.net/hosw2wc9 - Adam Konieska