Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript更改内部HTML变量值文本的颜色?_Javascript_Html - Fatal编程技术网

如何使用JavaScript更改内部HTML变量值文本的颜色?

如何使用JavaScript更改内部HTML变量值文本的颜色?,javascript,html,Javascript,Html,我想给我在表格行的输入中选择的所有单词上色。 rows表包含一个段落字符串 这个代码的问题他只是给一个单词上色,不是所有段落的单词,他还把我想给它上色的单词加在段落的前面 对于exp,如果我有两个段落,他将为每个段落中的一个单词上色,并将我在第二段开头选择的单词连接起来 我的javascript代码: var word ='pregnant'; var a = row["Abstract"].substring(0, row["Abstract"].indexOf(word)); var b

我想给我在表格行的输入中选择的所有单词上色。 rows表包含一个段落字符串

这个代码的问题他只是给一个单词上色,不是所有段落的单词,他还把我想给它上色的单词加在段落的前面 对于exp,如果我有两个段落,他将为每个段落中的一个单词上色,并将我在第二段开头选择的单词连接起来

我的javascript代码:

var word ='pregnant'; 
var a = row["Abstract"].substring(0, row["Abstract"].indexOf(word));
var b = row["Abstract"].substring(row["Abstract"].indexOf(word) + word.length);
HTML:

“”+a+“”+word+“”+b

这是因为现在的代码将字符串拆分为2。第一个字符串
a
从该单词第一次出现的开始到开始,第二个字符串
b
从该单词的结束到原始字符串的结束

本质上,您的代码只考虑单词的第一次出现

您可以使用正则表达式来解决此问题,下面是一个示例:

var org=“Lorem replace ipsum door sit amet,concetetur adivising elit,sed do eiusmod temporal incident ut laboure replace et dolore magna aliqua.ut enim ad minimum veniam,quis nostrud execution ullamco laboris nisi replace ut aliquip ex ea replace commodo consequat”;
var word=“替换”;
var result=org.replace(新的RegExp(word,“g”),`${word}`);

控制台日志(结果)请将您的代码添加到stackoverflow代码段。。。。!请分享一个感谢你的帮助!它起作用了。我只是用我的正则表达式来更改您的结果:var result=org.replace(newregexp(word,“g”),“”+word+“”);因为BIRT eclispe无法识别${}.@MokiNex,它被称为模板文字,并且不是所有浏览器都支持它,如果您在web应用程序中使用它,最好使用旧的字符串连接结构。我很高兴能帮上忙,祝你好运。你能帮我如何使用regExp作为字符串进行多输入吗?例如(replace | dolor)@MokiNex你可以这样做:
org.replace(new regExp(“+word1+”)(“+word2+”),“g”),函数(m){return”+m+“})。这里,
m
参数将是匹配的组(
word1
word2
)。这是@MokiNex的文档,实际上不是这样,您将多次重复原始字符串。看看这个:我使用了另一种方法。我合并了所有单词,只创建了一个正则表达式,并使用该正则表达式处理
抽象
数组的所有元素。试着理解代码在做什么,看看如何修改它来做你想做的事情。如果你现在还不知道怎么做,恐怕我也帮不了你。
'<span style="color: black;">'+ a +'</span>' + '<span style="color: red;">'+ word +'</span>' + b