Javascript JQuery-更改文本中字符串的颜色,忽略<;br>';介于
我需要更改文本中特定子字符串的颜色。 文本如下所示:Javascript JQuery-更改文本中字符串的颜色,忽略<;br>';介于,javascript,jquery,html,css,web,Javascript,Jquery,Html,Css,Web,我需要更改文本中特定子字符串的颜色。 文本如下所示: SOME TE<br> XT IS HER<br> E. 一些TE XT是她的 E 我厌倦了jquery中的.replace()函数,它的问题是,正如您在上面看到的,文本被拆分为。我怎么能“忽略”它们? 例如,我想将字符串TEXT替换为TEXT 有人知道如何解决这个问题吗?标签是换行的,颜色不适用于文本,这不会被视为普通文本,而最终html呈现不需要jQuery。虽然我根本没有测试它,所以它可能需要调整 var c
SOME TE<br>
XT IS HER<br>
E.
一些TE
XT是她的
E
我厌倦了jquery中的.replace()
函数,它的问题是,正如您在上面看到的,文本被拆分为
。我怎么能“忽略”它们?
例如,我想将字符串TEXT
替换为TEXT
有人知道如何解决这个问题吗?
标签是换行的,颜色不适用于
文本,这不会被视为普通文本,而最终html呈现不需要jQuery。虽然我根本没有测试它,所以它可能需要调整
var customReplace = function(str, subStr, color) {
var words = str.split(' ');
for (var i = words.length - 1; i >= 0; i--) {
var word = words[i].replace(/<br>/g, '');
if (word === subStr) {
words[i] = '<span class="color-' + color + '">' + words[i] + '</span>';
}
}
return words.join('');
}
var customReplace=函数(str、subStr、color){
变量词=str.split(“”);
对于(var i=words.length-1;i>=0;i--){
var word=words[i]。替换(/
/g',);
if(word==subStr){
单词[i]=''+单词[i]+'';
}
}
返回单词。join(“”);
}
我认为一个好主意可能是如下所示:
var-ALL_-TAGS_-REGEX=/(.+)({1})/g;
document.addEventListener(“DOMContentLoaded”,function()){
document.body.innerHTML=文档
.身体
.innerHTML
.替换(所有标签和正则表达式,$1$2')
;
});代码>
。突出显示{背景:青色;}
我是一个字符串,
其他内容,但没有文本节点
libitum上的其他文本节点
。这是为什么你首先需要br?@madalinivascu这是因为design@Ish谢谢你的参考,但是这个问题不是很有帮助,因为他们没有单词之间的问题。尝试从字符串中删除
或任何其他标记,然后替换为span谢谢你的回复,但你是什么意思?我的意思是
不是文本,为什么你担心它的文本颜色呢?因为,我想替换一个洞字,但这个字被
打断了。这使得替换单词变得很困难,因为例如.replace(“text”,“other text”)不会替换我的“text”,因为它被一个
->“te
xt”破坏了。哦,问题是替换文本时忽略了
?emty()会刷新html元素的内容,例如,如果abc
foo bar,它会将其置为空。现在您可以自由添加任何内容/文本作为孩子!哇,看起来不错。但我到底该如何使用它呢?什么是str,什么是subStr?Woops刚刚意识到这可能非常简单subStr是您试图查找和着色的字符串。Str是整个字符串,例如SOME TE
XT是她的
e.
只需为Str传入innerHTML
,并将innerHTML
设置为此函数的输出。我尝试了此代码var textContent=$(“.text-3-colors p”).text();警报(customReplace(文本内容,“saf”、“红色”))代码>但它给了我一个错误:无法读取Undeiendso的属性replace,现在没有错误,但是subStr不会被涂成红色?