window.onload Not Working correclty

Onl*_*ope 0 html javascript jquery date

这是一个显示日期的简单功能(我不想要专业的,所以这就足够了).问题是我想在页面加载时显示它.我不希望用户按任何按钮或任何按钮,但它不起作用.

这里是:

<script type="text/javascript">
    window.onload = ReturnDay;
</script>

<script>
    function ReturnDay() {
        var monthNames = [ 
            "January", 
            "February", 
            "March", 
            "April", 
            "May", 
            "June",
            "July", 
            "August", 
            "September", 
            "October", 
            "November", 
            "December" 
        ];
        var dayNames= [
            "Sunday",
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
        ];
        var newDate = new Date();

        newDate.setDate(newDate.getDate() + 1);    

        $('#dateday').html(dayNames[newDate.getDay()] + " " + newDate.getDate() + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear());?
    }
</script>

<input id="dateday" type=text></div>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

非常感谢.

Que*_*tin 5

功能提升仅发生在给定<script>元素内.当您尝试分配ReturnDayonload,它不存在.

删除示例代码的第3行和第4行:

    </script>
     <script>
Run Code Online (Sandbox Code Playgroud)

也就是说,直接将函数分配给事件处理程序对象不被视为最佳实践.引入冲突太容易了.使用事件绑定代替,jQuery将为您抽象旧IE中的差异.

$(window).load(ReturnDay);
Run Code Online (Sandbox Code Playgroud)

或者,如果要在DOM准备就绪时运行脚本,而不是等待页面中的所有图像加载:

$(document).ready(ReturnDay);
Run Code Online (Sandbox Code Playgroud)

此外,<input>元素定义为EMPTY.设置他们的innerHTML毫无意义.您应该使用val()没有html().