对于在 HTML 中多次出现的 div :
<div class="myclass">abc</div>
<div class="myclass">abc def</div>
...
如何实现所有出现的“abc”的替换? (我找到了可以替换第一个出现的资源,但没有找到其余的)
这是我使用 JavaScript 方法的代码
<script>
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
oldText = document.getElementsByClassName("myclass").innerHTML;
for (i = 0; i<oldText.length; i++){
newText = oldText[i].innerHTML;
newText = newText.replace(/abc/g, "123");
oldText[i].innerHTML = newText;
});
</script>
最佳答案
解决方案如下:
问题出在这一行:oldText = document.getElementsByClassName("myclass").innerHTML;
.innerHTML
方法返回 HTML
内容。
只需通过类名获取元素,得到一个nodeList
即可。
oldText = document.getElementsByClassName("myclass");
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
oldText = document.getElementsByClassName("myclass");
for (i = 0; i<oldText.length; i++){
newText = oldText[i].innerHTML;
newText = newText.replace(/abc/g, "123");
oldText[i].innerHTML = newText;
}
});
<div class="myclass">abc</div>
<div class="myclass">abc def</div>
关于javascript - 如何使用javascript替换div中多次出现的innerHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41594060/