用javascript更改图标

时间:2017-12-04 02:44:00

标签: javascript html

在我进军网页开发的过程中,我发现了一个新问题,当我点击它时,我需要更改另一个图标。我知道javascript中的一个函数发送了图标的id并获得了元素,在获得元素后我希望通过keyboard_arrow_down更改keyboard_arrow_up。但是,这是未执行的部分,如何获取值keyboard_arrow_up?

<i id="icon1" onclick="change('icon1')" class="material-icons">keyboard_arrow_up</i>

function change(iconID) {
var item =document.getElementById(iconID);
if (item) {}
}

4 个答案:

答案 0 :(得分:1)

这是临时解决方案,我不得不通过fontawesome图标更改谷歌设计素材的图标。但是,我会继续调查。

<i id="icon1" onclick="change('icon1')" class="fa fa-chevron-up" aria hidden="true">

function change (iconID){
if(document.getElementById(iconID).className=="fa fa-chevron-up"){
document.getElementById(iconID).className = "fa fa-chevron-down";
}else{
document.getElementById(iconID).className = "fa fa-chevron-up";
}
}

答案 1 :(得分:0)

听起来,你需要这种功能

function changeIcon(classname or id) {
    $("i", this).toggleClass("icon-circle-arrow-up icon-circle-arrow-down");
}

注意:上述解决方案中的图标是从互联网上复制的,请在此处使用您想要的图标。

答案 2 :(得分:0)

记住图标只是CSS类,因此该函数应该在javascript函数上更改另一个类。

function change(iconID) {
var element = document.getElementById(iconID);

if (element.classList.contains("keyboard_arrow_up")) {

    element.classList.add("keyboard_arrow_down")

  } else {

    element.classList.add("keyboard_arrow_up")
  }
}

答案 3 :(得分:0)

您可以按以下方式更改innerText

 document.addEventListener("DOMContentLoaded", function() {

    let change = document.querySelector("#icon");

   change.addEventListener('click' ,function () {
       let item = document.querySelector("#icon");

       if(this.innerText == 'keyboard_arrow_down'){
            item.innerText = "keyboard_arrow_up";

        }else{   
            item.innerText = "keyboard_arrow_down";

        }

    })
});

和html:

<i id="icon" class="material-icons">keyboard_arrow_up</i>