Select cell by td headers(使用变量)和 class 使用 javascript

Select cell by td headers (using variable) and class using javascript

问题

我需要select一个td header cat_11_18(变量存储在 obj.id) 和 class column-percentage(静态)中,以便我可以提取文本。

<td headers="cat_11_18 row_50_18 percentage" class="level2 leveleven item b1b itemcenter column-percentage">25 %</td>

目前正在尝试:

$('td[headers*="' + obj.id '"].column-percentage').innerText;

演示代码片段

$(function () {
  
  var cat = 'cat_11_18';
  
    alert(    $('td[headers*="' + cat + '"].column-percentage').innerText);
});
<td headers="cat_11_17 row_45_18 percentage" class="level1 levelodd oddd1 baggb itemcenter  column-percentage">46 %</td>
<td headers="cat_11_17 row_45_18 average" class="level1 levelodd oddd1 baggb itemcenter  column-average">4</td>
<td headers="cat_11_17 row_45_18 feedback" class="level1 levelodd oddd1 baggb feedbacktext column-feedback">Great</td>
<br/>
<td headers="cat_11_18 row_50_18 percentage" class="level2 leveleven item b1b itemcenter  column-percentage">25 %</td>
<td headers="cat_11_18 row_50_18 average" class="level2 leveleven item b1b itemcenter  column-average">50</td>
<td headers="cat_11_18 row_50_18 feedback" class="level2 leveleven item b1b feedbacktext column-feedback">Rubbish</td>


背景

我 运行 通过 table 从数据创建一系列图表。 td header 可识别的类别很多,每个图都有两个系列 class 可识别的(学生成绩,平均成绩)。课程之间的类别可能会发生变化,因此我无法 hard-code 解决方案。

它已成功找到所有类别,但我正在努力 select 仅 table 适合单个类别的单元格。如果我 select 只使用 class 它是有效的,但这是不合适的,因为无论类别如何,所有信息都会混合。

感谢您的帮助

你要.html()不是innertext这里是FIDDLE

<table border="1">

<td headers="cat_11_17 row_45_18 percentage" class="level1 levelodd oddd1 baggb itemcenter  column-percentage">46 %</td>
<td headers="cat_11_17 row_45_18 average" class="level1 levelodd oddd1 baggb itemcenter  column-average">4</td>
<td headers="cat_11_17 row_45_18 feedback" class="level1 levelodd oddd1 baggb feedbacktext column-feedback">Great</td>
<br/>
<td headers="cat_11_18" class="level2 leveleven item b1b itemcenter  column-percentage">25 %</td>
<td headers="cat_11_18 row_50_18 average" class="level2 leveleven item b1b itemcenter  column-average">50</td>
<td headers="cat_11_18 row_50_18 feedback" class="level2 leveleven item b1b feedbacktext column-feedback">Rubbish</td>

</table>

JS

$(function () {

  var cat = 'cat_11_18';

    alert(    $('td[headers*="' + cat + '"].column-percentage').html() );
});