我正在尝试显示某个div,具体取决于使用JavaScript的星期几。我有一个id为“星期四”的div。在JavaScript代码中,我尝试从文档中提取该ID,但没有任何反应。这就是我所拥有的:
这是div,而单独的样式表将其显示为“none”。
<div id="thu">Thursday</div>
以下是同一页面的head部分中的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”。
我错过了什么吗?任何帮助都会很棒。
答案 0 :(得分:3)
在HTML写入页面之前代码是否正在运行?也就是说,<script>
之前的<div id="thu">
区块是?这似乎是最可能的问题。
答案 1 :(得分:2)
您可能在DOM完全加载之前尝试访问该元素。将调用放在正文Onload事件中,或者更好的是,看看JQuery - 所有这些处理的方式非常优雅。
答案 2 :(得分:1)
如果找不到元素,第二个块将写null
。如果发现你会得到[object HTMLDivElement]
您需要等到DOM准备就绪或窗口已完全加载,然后才能与它进行交互。为此,您需要以这种格式包装代码:
window.onload = function() {
// put your code in here
};
答案 3 :(得分:0)
当我在}
之后添加右括号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>