javascript - 根据第一个单元格内容获取表格单元格值

标签 javascript

我有一个包含多个动态表的页面,其中一个表如下结构

Col1 Col2 Col3
1    One  Two
2    b    15/12/2017
3    a    X
2    W    10/12/2014

HTML

<table id="table1">
<tbody>
<tr>
<th>Col1</th>
<th>Col2</th>
<th>Col3</th>
</tr>
<tr> <td>1</td>
     <td>b</td>
     <td>15/12/2017</td>
</tr>
<tr> <td>2</td>
     <td>b</td>
     <td>15/10/2017</td>
</tr>

<tr> <td>3</td>
     <td>b</td>
     <td>15/09/2017</td>
</tr>
</tbody>
</table>

我想知道如何根据 col1 的值获取 col3 中带有 header 名称的单元格?

例如:

我想通过 ID 查找表格并检查每行的第一个单元格,如果它等于 2,则获取同一行中 col 3 的单元格值!

任何帮助将不胜感激

最佳答案

您可以尝试使用 jquery 进行一些操作,如下面的代码片段。

更新:您也可以使用$('th:contains("col3")').index()通过表标题获取特定列

$(document).ready(function() {
  $('#myTable').find('tbody td:first-child').each(function() {
    if ($(this).text() == '2') {
      console.log($(this).closest('tr').find('td').eq($('th:contains("col3")').index()).text());
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="myTable">
  <thead>
    <th>col1</th>
    <th>col2</th>
    <th>col3</th>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>one</td>
      <td>ONE</td>
    </tr>
    <tr>
      <td>2</td>
      <td>two</td>
      <td>TWO</td>
    </tr>
    <tr>
      <td>3</td>
      <td>three</td>
      <td>THREE</td>
    </tr>
  </tbody>
</table>

关于javascript - 根据第一个单元格内容获取表格单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46584348/

相关文章:

javascript - 按钮的 ID 发生变化,但 document.ready 函数调用先前值的方法

javascript - 垃圾收集可以在主线程繁忙时进行吗?

javascript - 使用 underscore.js 从对象/数组中仅检索一个字段

javascript - 我可以使用链式比较运算符语法吗?

javascript - 点击 <span> 元素 > JavaScript 输出 document.activeElement VS。事件目标

javascript - JavaScript/jQuery 中优雅的多个字符替换

javascript - 如何使用 jQuery 在没有其他元素的情况下切换一个元素?

javascript - 'if' 语句内的变量声明

javascript linq.js groupby

javascript - Google 表格 - 根据条件发送电子邮件