关于javascript:getElementsbyClassName查找并处理所有元素

getElementsbyClassName to find and act on all elements

本问题已经有最佳答案,请猛点这里访问。

不能让这段代码在HTML中的所有元素上执行-我知道[0]只意味着一个-但是没有它作为原始JS,代码就不能工作。

1
2
3
4
5
6
7
8
9
10
11
 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();

见J小提琴

我希望它适用于"icon"类中的所有实例


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

1
2
3
4
5
6
7
8
9
10
11
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();