[英]Select table cells in a column based on the column header text
如何根據表列標題中的文本選擇列中的單元格,例如“狀態”,使用Javascript
或jQuery
?
(細節,不是問題的一部分:我想稍后使用它根據單元格內容將背景顏色應用於該列中的單元格,以便例如“錯誤”將背景顏色變為紅色並且'質量正常“會是白色的。”
這是我為你做的一個快速小提琴..
HTML
<table>
<tr>
<th>One</th>
<th>Two</th>
<th>Status</th>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>Bad</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
<td>Good</td>
</tr>
</table>
JQUERY
$(function(){
var columnindex = $('th:contains("Status")').index();
if(columnindex != -1)
{
$('tr').each(function(){
var column = $('td', this).eq(columnindex);
switch(column.text())
{
case "Bad":
column.css({ backgroundColor: '#900' });
break;
case "Good":
column.css({ backgroundColor: '#090' });
break;
default:
break;
}
});
}
});
您可以更改顏色以及要搜索的文本,但是您應該能夠了解最新情況......
基本上,我們使用contains
選擇器( https://api.jquery.com/contains-selector/ )YP找到th
包含我們正在尋找的文本,然后.index()
http://api.jquery.com / index / )獲取列索引。 然后我們使用.each
( https://api.jquery.com/jQuery.each/ )循環tr,並使用eq
( https://api.jquery.com/eq/ )獲取項目。 然后操縱td
的css並設置其背景顏色屬性。
有一點需要注意的是,如果2列th
文本包含“狀態”,你將面對的問題!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.