我希望在点击链接后切换链接内部的图标类。我现在正在工作,但点击后我的所有图标都改变了 - 我在页面上有多个手风琴。我只想更改点击链接的图标。有人可以帮忙吗?我知道必须要做的就是这个'但我无法弄清楚。
jQuery代码
$( ".accordion a" ).click(function() {
$( ".accordion a i" ).toggleClass('fa-caret-up ','fa-caret-down');
});
HTML代码
<a href="#panel{accordion_number}">{accordion_heading} <i class="fa fa-caret-down linkIcon"></i></a>
答案 0 :(得分:5)
您没有正确使用.toggleClass()
签名。您尝试在其上使用的签名是.toggleClass('class1 class2')
尝试,
$( ".accordion a" ).click(function() {
$(this).find("i").toggleClass('fa-caret-up fa-caret-down');
});
我错过了解释,你需要在click事件中使用$(this)
来定位当前点击的元素。否则会影响与选择器匹配的所有元素。
答案 1 :(得分:1)
使用.find
,如下所示:
$( ".accordion a" ).click(function() {
$(this).find("i").toggleClass('fa-caret-up fa-caret-down');
});
答案 2 :(得分:0)
1)ToggleClass语法错误
2)使用当前元素$(this)
$( ".accordion a" ).click(function() {
$(this).find("i").toggleClass('fa-caret-up fa-caret-down');
});
答案 3 :(得分:0)
使用this
引用获取当前元素并找到获取i
并更改
试试这个
$( ".accordion a" ).click(function() {
$( this ).find('i').toggleClass('fa-caret-up fa-caret-down');
});
答案 4 :(得分:0)
如上所述,您需要找到特定的&#34; i&#34;在您单击的链接中。 但是,您可能还需要阻止链接进入任何地方
$( ".accordion a" ).click(function(e) {
e.preventDefault(); // needed if you want to stay on the page
$(this).find("i").toggleClass('fa-caret-up fa-caret-down');
});