表格如何選取一欄(選取一直行)

URL Link http://n.sfs.tw/13134

2019-03-01 20:29:02 By 張○○

在CSS中常有需要選取一欄,過去的作法就是此欄給他一個class,再指定此class即可:

[過去的作法]

表格

  class="col2"  
  class="col2"  
  class="col2"  
  class="col2"  

 

CSS

.col2 { background-color:pink; }

JQUERY

$(".col2").css("background-color","pink");

這樣的作法缺點就是每個格子都得指定class。但對於舊的瀏覽器這是唯一解。

 

[使用 :nth-child]

使用CSS可以快速的選取該欄。

CSS

table tr td:nth-child(3) { background-color:yellow; }

JQUERY

$('table tr td:nth-child(3)').css("background-color", "yellow");

數字3是從右算到左的第3欄,包含隱藏的欄。

表格

     
     
     
     

 

[使用 colgroup/ col標籤]

HTML4 後出現了<colgroup>和<col>的標籤,但是到了 HTML5只剩下span屬性[2],所以…

好處是一次可指定多欄。

先替表格分群,例如1欄一組,2,3欄另一組。

<table>
  <colgroup>
    <col class="grp1">
    <col span="2" class="grp2">
  </colgroup>
  <thead></thead>
  <tbody>
  <tr><td></td><td></td><td></td></tr>
  <tr><td></td><td></td><td></td></tr>
  <tr><td></td><td></td><td></td></tr>
...
  </tbody>
</table>

再指定CSS即可

CSS

.grp2 { background-color:cyan; }

表格

     
     
     
     

備註

1. <colgroup>的標籤只要放在<table>中即可,並沒有一定要放在最上面。

2. <col>不一定要和全部欄位一致,例如你只要設定第3欄,但是表格有10欄,你的col只要有設置到第3個即可。

 

參考資料

[1] https://stackoverflow.com/questions/8375625/how-to-select-a-table-column-with-jquery

[2] https://www.w3schools.com/tags/tag_colgroup.asp

[3] https://www.w3schools.com/html/html_tables.asp