javascript - 如何使用javascript替换div中多次出现的innerHTML?

标签 javascript html

对于在 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/

相关文章:

javascript - 从变量 jQuery 中减去 1

javascript - 我不知道为什么我的 setInterval 无法正常工作 javascript

Javascript:替换 HTML 对象中的文本

android - 修复 Android 中的绝对定位

javascript - 在javascript中在图像上绘制矩形

javascript - 向 AngularJS 中的输入字段添加前缀值

javascript - 根据传递的变量动态添加子字段名称

html - 我想在 jmeter 中忽略带有正则表达式的空格

javascript - 防止 jQuery 选择具有相同类的多个元素

html - 固定位置侧边栏溢出问题