我想替换 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。
此代码应适用于所有浏览器。
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. 如果找到匹配项,则替换内容。
matchClass
jsFiddle 示例,使用 Vanilla JS(即无框架)