为什么我的日历不起作用?

时间:2013-03-14 19:44:13

标签: javascript html

重点是显示日历(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>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</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伙计们,我已经尝试了一切。不要讨厌,我以为这个地方是为了帮助新手,而不是嘲笑他们。

2 个答案:

答案 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";

*它被解释为减号,在此上下文中没有意义