如何使用具有Rowspan属性的TH和TD标记突出显示行?

时间:2015-01-26 17:51:25

标签: javascript jquery html css

我正在为大学辅导中心创建一个时间表页面。为了使它更具可读性,我使用rowspan属性来处理同一天发生的会话。

在某些情况下,我也会在同一天开设多个课程的相同课程。下面是一个示例表:

<table class="schedule">
      <tr class="tableheader">
         <th scope="col">Day</th>
         <th scope="col">Courses</th>
         <th scope="col">Times</th>
      </tr>
      <tr>
         <th scope="rowgroup" rowspan="3">Monday</th>
         <td>All CHEM</td>
         <td>10:10 a.m. - 1:00 p.m.</td>
      </tr>
      <tr>
         <td>CHEM 120-152</td>
         <td>4:30 p.m. - 6:30 p.m.</td>
      </tr>
      <tr>
         <td>All Chem</td>
         <td>7:10 p.m. - 9:00 p.m.</td>
      </tr>
      <tr>
         <th scope="rowgroup" rowspan="2">Tuesday</th>
         <td>CHEM 120-152 &amp; 272</td>
         <td>10:10 a.m. - 2:00 p.m.</td>
      </tr>
      <tr>
         <td>All CHEM</td>
         <td>6:10 p.m. - 9:00 p.m.</td>
      </tr>
      <tr>
         <th scope="rowgroup" rowspan="3">Wednesday</th>
         <td rowspan="2">CHEM 120-152 &amp; 272</td>
         <td>10:10 a.m. - 12:00 p.m.</td>
      </tr>
      <tr>
         <td>1:10 p.m. - 2:00 p.m.</td>
      </tr>
      <tr>
         <td>All CHEM</td>
         <td>3:10 p.m. - 6:00 p.m.</td>
      </tr>
   </table>

我如何能够突出显示整行,包括使用jQuery使用rowspan的父元素?

我发现了一般的部分解决方案,但是当course列具有rowspan属性时,除了第一个子节点外,它往往会中断。我所看到的很多解决方案都没有考虑TH标签,而且必须遵守508条款,我必须尽可能地遵守。

1 个答案:

答案 0 :(得分:2)

$("td[rowspan]"); // returns all elements with any rowspan property.
$("td[rowspan='3']"); // returns all elements with rowspan 3.