JavaScript-更改特定索引的字体颜色

JavaScript - change font color on certain index

本文关键字:字体 颜色 索引 JavaScript-      更新时间:2023-09-26

我有一个长字符串,我希望只使用JavaScript将其中的一部分转换为白色。

示例1:

var string = document.getElementById("subtitle").innerHTML; //returns the string
var i = string.indexOf("("); //returns 80
var j = string.indexOf(")"); //return 93

示例2:我可以得到想要的文本,但我不知道如何将其更改为白色

var string = document.getElementById("subtitle").innerHTML; //returns the string
var i = string.indexOf("(");
var j = string.substring(i, string.indexOf(")")+1); //return the exact string I want to paint white
//j.paintWhite(); how?

我想把位置80和93之间的所有字符(或如示例#2所示选择的字符)都画成白色。我该怎么做?

您需要为该文本创建一个html容器,在其中可以指定样式属性。

此外,不要使用变量名string,因为它是为语言保留的

为了做到这一点,我建议使用jQuery,因为它更容易一些。

但如果你不想,你可以做:

var text = document.getElementById("subtitle").innerHTML;
var cut = text.split("(");
var cut2 = cut[1].split(")");
var colored = cut[0] + '<span style="color:#fff;">('+cut2[0]+')</span>'+cut2[1];
document.getElementById("subtitle").innerHTML = colored;

如果假设"转换为白色"正在进行

<span style="color:#fff">MY_TEXT_HERE</span>

然后你可以尝试以下阵列:

var string = document.getElementById("subtitle").innerHTML;
var arr1 = string.split('(');
var arr2 = arr1[1].split(')');
var finalString = arr1[0] + '<span style="color:#fff">' + arr2[0] + '</span>' + arr2[1];

必须修改元素的内部Html,使其具有嵌套有定义样式的文本元素。

http://jsfiddle.net/gsexxsbs/

var element = document.getElementById("subtitle");
var htmlText = element.innerHTML; 
var i = htmlText.indexOf("(");
var j = htmlText.indexOf(")")+1;
var redText = htmlText.substring(i, j);
element.innerHTML = htmlText.substring(0,i)+"<a style='color:red;'>"+redText+"</a>"+htmlText.substring(j);