我正在尝试更改字体真棒图标的类,以便在单击时更改图标。我已阅读其他几个问题(如this one和this one和this one),但在获取工作示例方面未能成功。单击更改字体真棒图标
在这种情况下,我试图将facebook图标更改为勾号。
HTML:
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="./java.js"></script>
</head>
<body>
<div>
<a href="javascript:void" rel="me"><i class="fa fa-twitter-square fa-3x"></i></a>
<a id="facebookicon" href="javascript:void" rel="me"><i class="fa fa-facebook-square fa-3x"></i></a>
</div>
</body>
</html>
的Javascript:
$('#facebookicon').click(function(){
$(this).find('i').toggleClass('fa-facebook-square fa-check-square')
});
我自己也尝试这段JavaScript代码:
$('body').on('click', '#facebookicon', function(){
$('i').toggleClass('fa-facebook-square fa-check-square');
});
当我点击图标我得到一个语法错误控制台:
SyntaxError: expected expression, got end of script
我认为这与javascript:void
有关,但我不确定。当我试图解决这个问题的时候,所有的答案似乎都是在错误的地方有引号的人或者混合并匹配双引号和单引号的人。我不认为这是事实。
我看到很多人打算有切换效果,但最终我希望它会改变一次,如果再次点击,它将不会变回。
有人能指出我正确的方向吗?
你能提供一个小提琴吗? –
你试过'javascript:;'或'javascript:void(0)'? – Manoj
@Jai和@Manoz使用'javascript:void(0)'确实解决了我遇到的语法错误,但是当我复制并粘贴代码时,我没有在Firefox 50.1中本地更改图标。 @Jai你的答案似乎在这里做,但我无法在本地重现它,即使如此,如果我点击它两次,它会改变回来。 –