文字不改变颜色

时间:2014-11-12 20:37:05

标签: javascript jquery css

我试图更改文字的颜色,但它无效。

这就是我所拥有的:

function LinesForKeyword($container, word) {
        var word = word.trim();
        // wrap each word in a span and add it to a tmp
        var tmp = '';
        //$.each(word, function (i, word) {
        for (var i = 0; i < reservedKeyWords.length; i++) {
            if (word == reservedKeyWords[i]) {

                word=word.replace(word, '[<font color="blue">'+word+'</font>]'); 

            }

        }

当我在调试模式中逐步执行代码时,它表示字体颜色已更改,我的意思是,当我将鼠标悬停在调试模式下的word时,这就是它显示的内容:

"[<font color="blue">string</font>]"

然后一旦它完成它从未实际更新颜色,它只是保持黑色:(

1 个答案:

答案 0 :(得分:1)

要使用JavaScript更改字体颜色,只需在.replace()方法调用之前使用以下内容:

word.style.color = "blue";

为了我们所有的理智,请不要使用<font>标签,因为它的灭绝与恐龙一样古老。

这是我相信你正在寻找的一个例子。请务必在需要时更改代码:

var spans = document.getElementsByClassName("myClass");

    var keywords = [ "is", "test" ];

    for (var i = 0; i < keywords.length; i++) {
        for (var j = 0; j < spans.length; j++) {
            if (spans[j].innerHTML === keywords[i]) {
                spans[i].style.color = "blue";
            }
        }
    }
<div id="myDiv">This <span class="myClass">is</span> a <span class="myClass">test</span></div>

这也是一个方便你的方式:

http://jsfiddle.net/pbhwLngo/

编辑#2:

这是一个小jQuery的例子。它抓取特定元素中的所有<span>元素并执行相同的操作。

http://jsfiddle.net/pbhwLngo/4/