无法更改jquery中的图标

时间:2018-01-25 09:05:44

标签: jquery

请帮助我是Jquery的新手

<script>
jQuery(document).ready(function(){
    jQuery("#footerlist li a").on('click', function(event) {
        var link = this.href;
        var one =   link.split('#')[1];
    jQuery( "#"+one ).show();
  });
});
</script>

这一行: -

jQuery( "#"+one ).show();

我也想要

jQuery('[href*="#"+one]').find("span").removeClass("fa fa-plus").addClass("fa fa-minus"); 

这个条件可以工作,但它不起作用,如果工作然后它取代所有+ ixon - 我不想要那个 url正在从上面的代码中分离出来 现在我希望从URL上的这个Id中,FAQ图标应该从plus替换为minus 我试过各种代码没什么用的

2 个答案:

答案 0 :(得分:0)

您可以保留对您正在选择的元素的本地引用,并再次使用它,以便为同一事件重复搜索DOM。

此外,您不需要在href值的开头删除哈希值,因为您正在使用该值来按ID查找元素...

jQuery(document).ready(function(){
    jQuery("#footerlist li a").on('click', function(event) {
        var $el = jQuery(this.href);
        $el.show();
        $el.find("span").removeClass("fa fa-plus").addClass("fa fa-minus"); 
    });
});

答案 1 :(得分:0)

当您尝试传递变量时,需要注意引号: -

jQuery('[href*="#'+one+'"]').find("span").removeClass("fa fa-plus").addClass("fa fa-minus"); 
//------------------^Now it will be treated like a variable--------------