在javascript中着色字符串的中间

时间:2013-03-15 08:38:21

标签: javascript html string colors pre

我将此作为javascript文档中的字符串(取自我的HTML中的预标签):

sqlString = "UPDATE galleria SET image_description = @image_description WHERE id = " + image.Id + " AND image_id = " + @image_id;

我希望为引号(“)中写的文字上色。我知道我可以用

来做
<span style="color:red;">*text here*</span>

但我不知道该怎么做。到目前为止,我已经制作了一个算法来获取引号的字符串中的位置(例如,在这个字符串中,我有2个变量,值为12和83),但要操纵字符串并将其发回,以便上面的字符串变为

sqlString = <span style="color:red;">"UPDATE galleria SET image_description = @image_description WHERE id = "</span> + image.Id + <span style="color:red;">" AND image_id = "</span> + @image_id;

感谢。

1 个答案:

答案 0 :(得分:2)

您使用substring和连接。假设indexOfStartQuoteindexOfEndingQuote,则:

sqlString = sqlString.substring(0, indexOfStartQuote) +
            '<span style="color: red">' +
            sqlString.substring(indexOfStartQuote + 1, indexOfEndingQuote + 1) +
            '</span>' +
            sqlString.substring(indexOfEndingQuote + 2);

...然后使用它在元素上设置innerHTML

您可能希望在其中使用+ 1,具体取决于您是否希望引号为红色。


附注:我主张使用<span class="error">或其他类似内容,并使用style元素或样式表进行样式设计。