【问题标题】:Javascript .innerHTML won't work [closed]Javascript .innerHTML 不起作用[关闭]
【发布时间】:2015-10-14 13:02:40
【问题描述】:

今天早上我在一段 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>

它在&lt;head&gt; 标签中。在&lt;body&gt; 的某个地方我有这个:

<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... 部分时,javascript 确实有效。

ps。是的,我是一个 JavaScript 菜鸟

【问题讨论】:

  • getElementById("titel"),带引号的密码
  • 你也应该在加载DOM之后执行这段代码(在onload中或者把这个脚本放在div声明之后)
  • 调试你的代码。首先查看控制台并查看正在打印的错误。

标签: javascript html innerhtml getelementbyid


【解决方案1】:

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

document.getElementById(titel)

document.getElementById("titel")

虽然,如果 &lt;head&gt; 标记内的代码则使用 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";
});

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      document.getElementById("titel");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-03
        • 2023-03-12
        • 1970-01-01
        • 2014-10-05
        • 1970-01-01
        • 2014-01-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多