代码更新颜色但不更新实际文本?

时间:2014-09-10 13:56:56

标签: javascript

这段代码我已经更新了文本的颜色而不是实际的文本...

var lastWordTyped;
var ele = document.querySelector("#my_text");
//code
//...
lastWordTyped = capitalizeFirstLetterOfKeyword(lastWordTyped);
lastWordTyped = lastWordTyped.fontcolor("blue");
ele.innerHTML = lastWordTyped;


function capitalizeFirstLetterOfKeyword(keyword) {

        var word;
        word = keyword.charAt(0).toUpperCase() + keyword.slice(1);
        return word;
    }

当我单步执行它时,正在识别新字符串应该是什么,但它不会将实际文本更新为新字符串,但它确实会更改其颜色。任何人都可以告诉我为什么它不会更新它吗?

3 个答案:

答案 0 :(得分:0)

你还没有声明lastWordTyped,所以capitalizeFirstLetterOfKeyword()获得了一个未定义的'作为输入。

这里的工作演示: http://jsfiddle.net/yc4mvm1n/1/

var lastWordTyped = "NewWord";
var ele = document.querySelector("#my_text");

lastWordTyped = capitalizeFirstLetterOfKeyword(lastWordTyped);
lastWordTyped = lastWordTyped.fontcolor("blue");
ele.innerHTML = lastWordTyped;

function capitalizeFirstLetterOfKeyword(keyword) {
        var word;
        word = keyword.charAt(0).toUpperCase() + keyword.slice(1);
        return word;
    }

答案 1 :(得分:0)

您的代码对我来说很好。

http://plnkr.co/edit/mRllGWD2bNTxxyWrJENZ?p=preview

尝试发布更多代码。

function capitalizeFirstLetterOfKeyword(keyword) {

        var word;
        word = keyword.charAt(0).toUpperCase() + keyword.slice(1);
        return word;
    }

返回正确的大写单词,我假设你在//code部分的某个地方设置值为lastWordTyped

答案 2 :(得分:0)

确保在运行JS代码之前元素#my_text存在。您可以通过将脚本放在正文的底部或使用

来完成此操作
window.onload = function() {
    // your code here
}