Javascript(如果var包含单词,则仅更改该单词颜色)

时间:2015-03-16 16:46:47

标签: javascript

基本上,这背后的想法是从变量中指出程序代码中的关键词(链接到SQL SERVER,并且列是VARCHAR(MAX))

这是我试图实现的代码,它将整个字符串更改为Blue,因为它包含单词'if':

if (contentItem.screen.SoftwareLibrary.Code.indexOf(if) !== 1) {
    element.style.color = "blue";
}

我想要发生的是它扫描变量Code,它包含单词'if',我希望这个单词只变成蓝色。

这可能吗?并且谢谢你的任何指示或帮助

2 个答案:

答案 0 :(得分:1)

您可以直接使用 replace()方法,尝试以下操作:

contentItem.screen.SoftwareLibrary.Code.replace("if", "<span style=\"background-color:red\">if</span>");

或者你可以创建一个CSS类colored并给它一个不同的背景颜色,每当你找到这个单词时,如果你给它这个类:

<强> CSS:

.colored {
   background-color:red;
}

<强> JS:

//managethuis function like you want
window.addEventListener("load", changeColor);

 function changeColor() {
   contentItem.screen.SoftwareLibrary.Code.replace("if", "<span class=\"colored\">if</span>");
 }

答案 1 :(得分:1)

如果您不想使用highlight.js路线,可以使用以下内容:

contentItem.screen.SoftwareLibrary.Code.replace("if", "<span style=\"color:blue\">if</span>");
//... other color rules  
element.innerHTML = contentItem.screen.SoftwareLibrary.Code;

我强烈建议使用highlight.js,因为它非常强大,可以节省大量时间。