<分区>
标签 javascript html css
我正在尝试使用 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/
相关文章:
javascript - Firebase .where() .limit() .orderBy() 的新命名空间
javascript - 有没有办法在没有单独对象的情况下克隆 DOM 元素?
java - 如何使用 tagx 和 jSTL 将标题标签(工具提示)添加到 HTML 表格列?
html - 如何组合文本转换 :uppercase with "normal" user text?
javascript - 在 ASP MVC 中动态删除元素的必需属性?
javascript - 单击图像、隐藏其他图像以及使用 JQUERY 使图像滑动动画