自我调用函数问题javascript

时间:2015-09-17 00:44:30

标签: javascript

我想使用函数表达式来显示页面加载的日期,然后使用自调用函数来更改日期字体颜色。

我以为我走的是正确的道路,但我有两个问题。第一个是,我的代码不会改变文本的颜色。第二个,是我从第一个函数说出dateDisplay()的控制台错误;没有定义。但是如果我尝试从调用中删除函数名,只需使用();运行该功能。我收到了错误

'-F/...'

我曾试图改变一些事情,我最终会遇到控制台错误。通常我要么得到未定义的函数,要么得到如上所述的错误。

HTML

document.getElementById("dateDisplay").innerHTML = d; is null

的javascript

<div>
    <h2><p id="dateDisplay"></p></h2>
    <p>does this work</p>
</div>

我很失落,不明白最新情况。

2 个答案:

答案 0 :(得分:2)

请改为:

AttributeError: function 'add' not found

甚至更好:

window.onload = function(){
    var d = new Date();
    document.getElementById("dateDisplay").innerHTML = d;
    document.getElementById("dateDisplay").style.color = "red";
};

或者您也可以这样做:

window.addEventListener("load", function(){
    var d = new Date();
    document.getElementById("dateDisplay").innerHTML = d;
    document.getElementById("dateDisplay").style.color = "red";
});

答案 1 :(得分:0)

你在做功课需要你以某种方式做吗?

无论如何,我想我会给出一些帮助。首先,如果某些东西不起作用,我不太了解它(仍在学习它)我喜欢把它分解成较小的部分并进行测试,直到我得到更好的理解。

例如,尝试使用console.log中的一个函数,直到它开始工作:

var d = new Date();

window.onload = function() {
    console.log('window loaded!');
}

此功能在加载时应该可以正常工作,如果没有则会出现其他问题。一旦你开始工作,然后加入document.getElem...并处理下一个函数等。

编辑,显示我的快速测试:

HTML:

<!DOCTYPE html>
<html>
    <head>

    </head>
    <body>
        <div id="header"></div>
    </body>
    <script src="test.js"></script>
</html>

的javascript:

var d = new Date();

window.onload = function() {
    console.log('window loaded');
    document.getElementById('header').innerHTML = d;
}

(function() {
    console.log('invoked');
    document.getElementById('header').style.color = 'red';
}());

工作得很好。