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() );
});
问题
我需要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() );
});