我有没有td / th-id' s / classes的表,我循环遍历表以从td:s获取数据。如果没有数据或数据:" - "然后我在那个td上设置了一个CSS类。像这样:
$('.simpletable td').each(function() {
if($(this).text() === '-')
{
$(this).addClass("nodata");
}
});
但是我需要匹配那个' td'与相应的'设置相同的CSS类。我用:
获取th数组的数组$('.simpletable th').each(function()
{
tableheaders.push($(this).text());
});
有谁知道如何实现这一目标?或者如果我从头开始,有没有更简单的方法来完成所有这些?
这张表有几排''所以我无法对列做任何事情。
MARKUP html:
<table class="simpletable">
<thead>
<th>th1</th>
<th>th2</th>
<th>th3</th>
</thead>
<tbody>
<tr>
<td>data 1</td>
<td>-</td>
<td>data 3</td>
</tr>
<thead>
<th>th4</th>
<th>th5</th>
<th>th6</th>
</thead>
<tr>
<td>data 4 row 2</td>
<td>-</td>
<td>data 6 row 2</td>
</tr>
</tbody>
答案 0 :(得分:1)
您必须捕获td
的索引,然后使用.filter()来获取具有相同列索引的相应th
$('.simpletable td').each(function() {
if($(this).text() === '-')
{
$(this).addClass("nodata");
var ind = $(this).index(); // get td index relative to it's row
$('.simpletable th').filter(function(i,v){
return $(v).index() == ind; // only return th with same column index as the td
}).addClass('nodata');
}
});