Javascript .innerHTML不起作用

时间:2015-10-14 13:02:40

标签: javascript html innerhtml getelementbyid

今天早上我用一段JavaScript代码遇到了一些问题,我似乎无法使用.innerHTML工作,这就是我写的:

<script>
    var curtime = new Date(),
    curday = curtime.getDate(),
    curmonth = curtime.getMonth()+1;

    if(curmonth == 10 && curday == 14)
        document.getElementById(titel).innerHTML = "nieuw";

</script>

它位于<head>标记中。 <body>中的某个地方我有这个:

<div class="navbar-header">
  <a class="navbar-brand" href="/rushter/"><i class="fa fa-calendar"></i><p style="display: inline;" id="titel"> Rushter</p></a>
</div>

为什么这不起作用?当我用一个简单的警报替换document.getElement ... part时,javascript确实有效。

PS。是的我是一个javascript noob

3 个答案:

答案 0 :(得分:1)

您可能会收到语法错误,更改或定义titel作为变量并分配id名称然后您可以使用

document.getElementById(titel)

document.getElementById("titel")

但是,如果<head>标记内的代码使用DOMContentLoaded事件,则在JavaScript代码中使用的元素下添加代码

document.addEventListener("DOMContentLoaded", function(event) {
    var curtime = new Date(),
    curday = curtime.getDate(),
    curmonth = curtime.getMonth()+1;

    if(curmonth == 10 && curday == 14)
        document.getElementById("titel").innerHTML = "nieuw";
});

答案 1 :(得分:0)

document.getElementById的参数是元素ID的字符串值。

document.getElementById('titel').innerHTML = "nieuw";

答案 2 :(得分:0)

将您的id值括在引号中(双倍或单个)。

document.getElementById("titel");