繁体   English   中英

JavaScript中的document.getElementById问题

[英]Problem with document.getElementById in JavaScript

我试图显示特定的div,具体取决于JavaScript在一周的哪一天。 我有一个ID为“ thu”的div。 在JavaScript代码中,我尝试从文档中提取该ID,但没有任何反应。 这是我所拥有的:

这是div,而单独的样式表将其显示为“ none”。

<div id="thu">Thursday</div>

这是同一页顶部的JavaScript。

var date = new Date();
var dayNum = date.getDay();
switch (dayNum)
{
case 4:
document.getElementById('thu').style.display='block';   
break;

它不会显示div。 我也尝试将元素分配给这样的变量...

var block = document.getElementById("thu");
document.write(block);

...但是它写了“ NULL”。

我想念什么吗? 任何帮助都会很棒。

在HTML写入页面之前,代码是否正在运行? 也就是说, <script>块在<div id="thu">吗? 这似乎是最可能的问题。

您可能正在尝试在DOM完全加载之前访问元素。 将调用放在body Onload事件中,或者更好的是,看一下JQuery-在那里处理所有事情的方式非常优雅。

如果找不到该元素,第二个块将写入null 如果找到它,您将得到类似[object HTMLDivElement]的响应

您需要等待DOM准备就绪或窗口已完全加载,然后才能与其进行交互。 为此,您需要使用以下格式包装代码:

window.onload = function() {
    // put your code in here
};

break后添加右括号} ,它对我有用。

<div id="thu" style="display:none">Thursday</div>
<script type="text/javascript">
var date = new Date();
var dayNum = date.getDay();
switch (dayNum)
{
  case 4:
    document.getElementById('thu').style.display='block';   
  break;
}
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM