我想替换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 element by class函数。那么如何修改以上代码以使其与类(而不是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