重点是显示日历(2013年3月)并使用javascript更改当天的css。这是我的日历:
<table border="1">
<tr><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th></tr>
<tr><td> </td><td> </td><td> </td><td> </td><td id="1">1</td><td id="2">2</td><td id="3">3</td></tr>
<tr><td id="4">4</td><td id="5">5</td><td id="6">6</td><td id="7">7</td><td id="8">8</td><td id="9">9</td><td id="10">10</td></tr>
<tr><td id="11">11</td><td id="12">12</td><td id="13">13</td><td id="14">14</td><td id="15">15</td><td id="16">16</td><td id="17">17</td></tr>
<tr><td id="18">18</td><td id="19">19</td><td id="20">20</td><td id="21">21</td><td id="22">22</td><td id="23">23</td><td id="24">24</td></tr>
<tr><td id="25">25</td><td id="26">26</td><td id="27">27</td><td id="28">28</td><td id="29">29</td><td id="30">30</td><td id="31">31</td></tr>
</table>
这是隔离的几天:
<td id="25">25</td><td id="26">26</td>
因此它基本上就像所有日子一样,这是我的js:
<script type="text/javascript">
var day=dateObj.getUTCDate();
document.getElementById(day).style.text-decoration="underline";
document.getElementById(day).style.color="red";
</script>
它不起作用。我假设问题出在我的JavaScript中,你可以帮忙吗?
注意:压光机本身显示正常但不会使当天变红或加下划线。
编辑:Com'on伙计们,我已经尝试了一切。不要讨厌,我以为这个地方是为了帮助新手,而不是嘲笑他们。答案 0 :(得分:1)
您需要将dateObj定义为Date对象。
var dateObj = new Date();
var day = dateObj.getUTCDate();
document.getElementById(day).style.textDecoration = "underline";
document.getElementById(day).style.color = "red";
<强> jsFiddle example 强>
当引用CSS中带连字符的样式时,你可以使用JavaScript来设置它们(例如textDecoration vs text-decoration)。
另请注意,在HTML5之前,以数字开头的ID无效。
答案 1 :(得分:0)
document.getElementById(day).style.text-decoration="underline";
通常需要连字符-
的所有CSS属性都使用camelCase而不是 * ,因为JavaScript无法在任何未使用[]
访问的名称/属性中使用连字符:
document.getElementById(day).style.textDecoration = "underline";
*它被解释为减号,在此上下文中没有意义