代码之家  ›  专栏  ›  技术社区  ›  Leo Messi

对于元素中的所有外观,用另一个字体图标替换一个字体图标

  •  0
  • Leo Messi  · 技术社区  · 7 年前

    要获取包含该特定图标的所有元素,应写:

    const elementList = document.querySelectorAll('.fa-line-chart');
    

    这会创建一个列表,可以用foreach循环,问题是我不能用新图标更新它。

    我试着这样做:

    elementList.forEach(document => document.style.icon= '.fa-pie-chart');
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   asimovwasright    7 年前

    这样就行了。

    $('.fa-line-chart').each(function() {
      $(this).removeClass('fa-line-chart');
      $(this).addClass('fa-pie-chart')
    });
    

    编辑

    如果我理解你的问题,也许你是在尝试为所有符合某些标准的图标更改图标fa类?

    在这种情况下,我会使用 .toggleClass()

    例如(摘自 jquery api

    $( "div.foo" ).toggleClass(function() {
      if ( $( this ).parent().is( ".bar" ) ) {
        return "happy";
      } else {
        return "sad";
      }
    });
    

    如果元素的父元素有一个bar类,这个示例将切换元素的happy类;否则,它将切换sad类。