我想从表格行中输入我在输入中选择的所有单词。 rows表包含一串段落。
这个代码的问题他只是为1个单词着色而不是段落的所有单词也添加了我想要在段落前面对它进行着色的单词 对于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:
'<span style="color: black;">'+ a +'</span>' + '<span style="color: red;">'+ word +'</span>' + b
答案 0 :(得分:0)
这是因为现在的代码将您的字符串拆分为2.第一个字符串a
从第一次出现的单词的开头到开头跨越,第二个字符串b
开始在单词的末尾,并跨越到原始字符串的末尾。
从本质上讲,您的代码只考虑第一次出现的单词。
您可以使用正则表达式来解决这个问题,这是一个例子:
var org = "Lorem replace ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore replace et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi replace ut aliquip ex ea replace commodo consequat";
var word = "replace";
var result = org.replace(new RegExp(word, "g"), `<span style="color: red;">${word}</span>`);
console.log(result);