使用JavaScript更改样式属性
我有一个表格行,需要根据月份进行关闭。使用JavaScript更改样式属性
HTML:
<tr id="bottomrow" class="week" valign="top" style="display:none;">
<td class="day" id="d36">
<div class="daynumb" id="x36"></div>
</td>
<td class="day" id="d37">
<div class="daynumb" id="x37"></div>
</td>
<td class="day" id="d38">
<div class="daynumb" id="x38"></div>
</td>
<td class="day" id="d39">
<div class="daynumb" id="x39"></div>
</td>
<td class="day" id="d40">
<div class="daynumb" id="x40"></div>
</td>
<td class="day" id="d41">
<div class="daynumb" id="x41"></div>
</td>
<td class="day" id="d42">
<div class="daynumb" id="x42"></div>
</td>
</tr>
我尝试使用document.getElementByID('bottomrow').style.display = "none";
但它似乎并没有工作...
的JavaScript:
function february() {
document.getElementById('bottomrow').style.display = "none";
var numbdays = 28,
offset = 5;
for (var date = 1; date <= numbdays; date++) {
document.getElementById("x" + (date + offset)).innerHTML = date;
}
}
页面加载后,该行仍然可见。我究竟做错了什么?
函数是否在DOM准备好之前运行?它不能在尚不存在的元素上操作。
window.onload = function()
{
...
}
这里没有jQuery,所以没有'$(document).ready()'。 – Blender 2013-02-16 23:20:24
您仍然可以绑定到文档的ready事件,并且您可能需要。另一种选择是在页面的最后添加你的JS。 – 2013-02-16 23:20:59
把代码放在html下面,或者在加载html之类的函数后调用,例如body onload =“”或者smiliar – 2013-02-16 23:21:28
您应该正确处理页面的ready事件,因为DOM元素尚未加载到页面上。 jQuery抽象这个,但看看这篇文章如何做到这一点没有jQuery或其他库。您需要确保处理以下指南中所做的浏览器差异。
你做正确,除了getElementByID
不是一个函数。它必须是getElementById
。注意小写d
:
document.getElementById("bottomrow").style.display = "none";
谢谢...不能相信我错过了。哈哈。 – 2013-02-16 23:32:32
没问题! Javascript是挑剔的大声笑 – 2013-02-16 23:36:04
你永远不会打电话给你的功能。把在html文档末尾 – 2013-02-16 23:24:33
请查看:http://jsfiddle.net/ryfitzger227/eJxaK/ – 2013-02-16 23:26:55
作品在小提琴中,看不到您的问题对不起。 – 2013-02-16 23:33:28