javascript - 使用javascript为单词添加样式

标签 javascript html css

<分区>


想改进这个问题吗? 通过 editing this post 添加细节并澄清问题.

关闭 7 年前

我正在尝试使用 JavaScript 替换 Word,但是当脚本运行时,它也会替换 JavaScript 中的 Word。 这个想法是当脚本在文档上找到 Word 时添加一些样式的 Word,然后我使用 REPLACE 来执行此操作,查看代码

document.body.innerHTML = document.body.innerHTML.replace('Amaru', '<span style=font-family:"Inder"!important;color:#0c5d4e;text-transform:lowercase;>amaru</span>');

非常感谢。

最佳答案

解决此问题的最佳方法可能是将要运行替换的内容包装在父 div 中。这样您就不必担心替换会影响内容 div 以外的任何内容。

此外,如果您不仅要替换第一个匹配项,还必须使用正则表达式 (/Amari/gi),如下面的代码片段所示。 i 忽略大小写。

<div id="replace-content">
  Amari
</div>
<script>
  var amari = 'Amari';
  
  var replaceContent = document.getElementById('replace-content');
  var html = replaceContent.innerHTML.replace(/Amari/gi, '<span style="color:red">Amari</span>');
  replaceContent.innerHTML = html;
  
  console.log(amari);
</script>

编辑

如果您无法像 Rob 在他的评论中指出的那样修改标记,您可以选择从 DOM 查询中省略脚本标签。

    <div>
      Amari
    </div>
    <script>
      var amari = 'Amari';
      
      var elements = document.querySelectorAll('*:not(script)');
      
      for (var i = 0; i < elements.length; i++) {
        var html = elements[i].innerHTML.replace(/Amari/gi, '<span style="color:red">Amari</span>');
        elements[i].innerHTML = html;
      }
      console.log(amari);
    </script>

关于javascript - 使用javascript为单词添加样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36920644/

上一篇:jquery - 动画断文

下一篇:html - 图像的超链接部分

相关文章:

javascript - Firebase .where() .limit() .orderBy() 的新命名空间

jquery - 页脚没有停留在页面底部

javascript - 有没有办法在没有单独对象的情况下克隆 DOM 元素?

java - 如何使用 tagx 和 jSTL 将标题标签(工具提示)添加到 HTML 表格列?

css - 创建 CSS 布局

html - 如何组合文本转换 :uppercase with "normal" user text?

javascript - 在 ASP MVC 中动态删除元素的必需属性?

javascript - 单击图像、隐藏其他图像以及使用 JQUERY 使图像滑动动画

php - 无法让 Last.FM API PHP 代理工作

javascript - 如何让该幻灯片在鼠标悬停时暂停?