getElementsbyClassName查找并处理所有元素

时间:2016-08-10 15:49:28

标签: javascript

我的html中的所有元素都无法完成此代码 - 我知道[0]只意味着一个 - 但如果没有它作为原始js代码就无法运行

 window.onload = function yourFunction(){
    var str = document.getElementsByClassName('icon')[0].innerHTML;

    var res = str.replace(/_s\.png/g, ".png")

    document.getElementsByClassName('icon')[0].innerHTML = res;

    setTimeout(yourFunction, 5000);
}

yourFunction();

请参阅JSFiddle

我希望它适用于'icon'类

中的所有_s实例

1 个答案:

答案 0 :(得分:0)

您应该使用for循环。迭代匹配getElementsByClassName返回的元素的类数组对象的每个元素。

window.onload = function yourFunction(){
    var elements = document.getElementsByClassName('icon');
    if (elements){
      for (var i = 0; i<elements.length; i++){
        elements[i].innerHTML = elements[i].innerHTML.replace(/_s\.png/g, ".png");
      }
    }
    setTimeout(yourFunction, 5000);
}

yourFunction();