小编典典

如何在 JavaScript 中按类获取元素?

all

我想替换 html 元素中的内容,因此我使用以下函数:

function ReplaceContentInContainer(id,content) {
   var container = document.getElementById(id);
   container.innerHTML = content;
}

ReplaceContentInContainer('box','This is the replacement text');

<div id='box'></div>

上面的效果很好,但问题是我想要替换其内容的页面上有多个 html 元素。所以我不能使用 id 而是使用类。有人告诉我,javascript
不支持任何类型的按类函数内置的 get 元素。那么如何修改上述代码以使其与类而不是 id 一起使用呢?

PS我不想为此使用jQuery。


阅读 65

收藏
2022-06-01

共1个答案

小编典典

此代码应适用于所有浏览器。

function replaceContentInContainer(matchClass, content) {
    var elems = document.getElementsByTagName('*'), i;
    for (i in elems) {
        if((' ' + elems[i].className + ' ').indexOf(' ' + matchClass + ' ')
                > -1) {
            elems[i].innerHTML = content;
        }
    }
}

它的工作方式是遍历文档中的所有元素,并在它们的类列表中搜索matchClass. 如果找到匹配项,则替换内容。

jsFiddle 示例,使用 Vanilla JS(即无框架)

2022-06-01