我需要更改文本中特定子字符串的颜色。 文字如下:
SOME TE<br>
XT IS HER<br>
E.
我厌倦了jquery的.replace()
函数,问题是,正如你在上面看到的那样,文本被那些<br>
分开了。我怎么能“忽略”他们呢?
例如,我想用TEXT
<span class="color-red">TEXT</span>
有没有人知道如何解决这个问题?
答案 0 :(得分:1)
不需要jQuery。虽然我根本没有对此进行测试,但可能需要进行调整。
£
答案 1 :(得分:0)
我认为一个好主意可能会像下面这样:
var ALL_TAGS_REGEX = /(.+)(<{1}\/{0,1}.+>{1})/g;
document.addEventListener("DOMContentLoaded", function() {
document.body.innerHTML = document
.body
.innerHTML
.replace(ALL_TAGS_REGEX, '<span class="highlight">$1</span>$2')
;
});
.highlight { background: cyan; }
I am a string,<br>
<div> something else but no text node</div>
Other text nodes at libitum
答案 2 :(得分:-1)
&LT; br&gt;标签是中断的,颜色不适用于&lt; br&gt;在最终的html渲染时,这不会被视为普通文本