通过 td 标题选择单元格(使用变量)和使用 javascript 的类

Posted

技术标签:

【中文标题】通过 td 标题选择单元格(使用变量)和使用 javascript 的类【英文标题】:Select cell by td headers (using variable) and class using javascript 【发布时间】:2016-04-07 14:34:42 【问题描述】:

问题

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

<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>

背景

我正在浏览一个表格以根据数据创建一系列图表。 td 标头可识别的类别很多,每个图表有两个可按类别识别的系列(学生成绩、平均成绩)。类别可以在课程之间更改,因此我无法对解决方案进行硬编码。

它已成功找到所有类别,但我正在努力选择适合单个类别的表格单元格。如果我选择只使用类,它会起作用,但这是不合适的,因为无论类别如何,所有信息都会混合在一起。

感谢您的帮助

【问题讨论】:

您好,欢迎来到 SO,我错过了您的实际问题。阅读how to ask 和mcve 以提出更受欢迎的问题。 【参考方案1】:

你想要.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() );
);

【讨论】:

以上是关于通过 td 标题选择单元格(使用变量)和使用 javascript 的类的主要内容,如果未能解决你的问题,请参考以下文章

如何根据我选择的单选按钮选择列中的所有单元格(td 和 th)?

使用css在单元格(td)之间添加空格

通过用户输入和 Javascript 更改特定表格单元格中的文本

如何通过 JavaScript 获取 html 表格 td 单元格值?

Outlook 通过电子邮件发送 TD 单元格中的额外空间

如何用CSS 定制表格单元格的宽度和高度