[英]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.