-2

它的重点是显示日历(现在是 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 中,你能帮忙吗?

注意:日历本身显示正常,但不会使当天变为红色或下划线。

编辑:伙计们,我已经尝试了一切。别再讨厌了,我以为这个地方是为了帮助菜鸟,而不是嘲笑他们。

4

2 回答 2

1

您需要将 dateObj 定义为 Date 对象。

var dateObj = new Date();
var day = dateObj.getUTCDate();
document.getElementById(day).style.textDecoration = "underline";
document.getElementById(day).style.color = "red";

jsFiddle 示例

当引用 CSS 中的连字符样式时,您可以在 JavaScript 中对它们进行驼峰式命名(例如 textDecoration 与 text-decoration)。

另请注意,在 HTML5 之前,以数字开头的 ID 无效。

于 2013-03-14T19:52:35.227 回答
0
document.getElementById(day).style.text-decoration="underline";

所有通常需要连字符的 CSS 属性都-使用 camelCase 代替*,因为 JavaScript 不能在任何未被访问的名称/属性中使用连字符[]

document.getElementById(day).style.textDecoration = "underline";

*它被解释为减号,在这种情况下没有意义

于 2013-03-14T19:48:20.810 回答