0

我正在尝试建立一个出现日历,其中的框只在某个日期出现。但我只是不会工作..

<html>
<head>
<script type="text/javascript">
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()

if(month == 10)
{
    document.write (month);
    document.getElementById("Ueberschrift").style.display = 'block';}
else {
    document.getElementById("Ueberschrift").style.display = 'none';}
</script>
</head>
<body>
<h1 id="Ueberschrift" style="display:none">Day 1</h1>
</body></html>

我不知道该怎么办......也许你们可以帮助我

提前致谢

4

2 回答 2

2

将脚本移到下面:(脚本正在运行before它可以找到任何H1

<html>
<head>

</head>
<body>
<h1 id="Ueberschrift" style="display:none">Day 1</h1>
</body>

<script type="text/javascript">
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()

if(month == 10)
{
    document.write (month);
    document.getElementById("Ueberschrift").style.display = 'block';}
else {
    document.getElementById("Ueberschrift").style.display = 'none';}
</script>
</html>

http://jsbin.com/olijiv/2/edit

于 2012-10-27T13:26:30.070 回答
0

您可以将脚本留在 head 部分,但在页面加载后触发它:

<html>
<head>
<script type="text/javascript">
window.onload = function()
{
    var currentTime = new Date()
    var month = currentTime.getMonth() + 1
    var day = currentTime.getDate()

    if(month == 10)
    {
        // document.write (month);
        document.getElementById("Ueberschrift").style.display = 'block';
    }
    else
    {
        document.getElementById("Ueberschrift").style.display = 'none';
    }
}
</script>
</head>
<body>
<h1 id="Ueberschrift" style="display:none">Day 1</h1>
</body></html>

此外,该document.write (month)语句替换了整个正文内容,因此下一条语句失败,因为页面中不再有“Ueberschrift”元素。远离document.write(使用测试元素和innerHTMLorinnerText属性)。

于 2012-10-27T13:47:08.063 回答