我有一个通过数据库填充的表,它呈现如下(它可以有任意数量的列引用“时间”、5 列、8 列、2 列等):
<table id="eventInfo">
<tr>
<td class="name">John</td>
<td class="date">Dec 20</td>
<td class="**time**">2pm</td>
<td class="**time**">3pm</td>
<td class="**time**">4pm</td>
<td class="event">Birthday</td>
</tr>
<tr>
<td class="name">Billy</td>
<td class="date">Dec 19</td>
<td class="**time**">6pm</td>
<td class="**time**">7pm</td>
<td class="**time**">8pm</td>
<td class="event">Birthday</td>
</tr>
使用 jQuery,我想遍历每个表格行并仅在“class='time'”的表格单元格上逐步设置一个额外的类名,这样结果将是:
<table id="eventInfo">
<tr>
<td class="name">John</td>
<td class="date">Dec 20</td>
<td class="**time** **timenum-1**">2pm</td>
<td class="**time** **timenum-2**">3pm</td>
<td class="**time** **timenum-3**">4pm</td>
<td class="event">Birthday</td>
</tr>
<tr>
<td class="name">Billy</td>
<td class="date">Dec 19</td>
<td class="**time** **timenum-1**">6pm</td>
<td class="**time** **timenum-2**">7pm</td>
<td class="**time** **timenum-3**">8pm</td>
<td class="event">Birthday</td>
</tr>
我只能让它计算所有“class='time'”的表格单元格,而不是每个集合在其自己的表格行中。这是我用 jQuery 尝试过的:
$(document).ready(function() {
$("table#eventInfo tr").each(function() {
var tcount = 0;
$("td.time").attr("class", function() {
return "timenum-" + tcount++;
})
//writes out the results in each TD
.each(function() {
$("span", this).html("(class = '<b>" + this.className + "</b>')");
});
});
});
不幸的是,这只会导致:
<table id="eventInfo">
<tr>
<td class="name">John</td>
<td class="date">Dec 20</td>
<td class="**time** **timenum-1**">2pm</td>
<td class="**time** **timenum-2**">3pm</td>
<td class="**time** **timenum-3**">4pm</td>
<td class="event">Birthday</td>
</tr>
<tr>
<td class="name">Billy</td>
<td class="date">Dec 19</td>
<td class="**time** **timenum-4**">6pm</td>
<td class="**time** **timenum-5**">7pm</td>
<td class="**time** **timenum-6**">8pm</td>
<td class="event">Birthday</td>
</tr>
感谢您的帮助!
最佳答案
$("td.time")
选择 所有 类为 time
的表格单元格,而不仅仅是那些在该行中的单元格。添加对该行的引用作为(第二个)上下文参数,就像您在另一个 each
循环中所做的那样:$("td.time", this)
关于jquery - 如何使用 jQuery 在每个表格单元格中设置增量 CSS 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2744843/