首页 > 解决方案 > Jquery 检索所选 rowIndex 的属性值

问题描述

单击正确触发的表格单元格时,我有一个事件。然后,我试图获取该选定单元格的行索引,但我总是得到“未定义”。

我从 $this 对象中看到了正确的 rowIndex 值,但是如何获取它呢?似乎是一个基本问题,但我尝试了不同的语法以及 javascript 和 jquery 方法,但我无法获得价值。

在此处输入图像描述

html:

在此处输入图像描述

标签: javascriptjquery

解决方案


rowIndex是 的一个属性,<tr>因此您需要向上导航 DOM 层次结构来检索它。

jQuery($ => {
  $("td").on("click", function() {
    const selectedToolTableIndex = this.closest("tr").rowIndex
    
    console.log("row index", selectedToolTableIndex)
  })
})
td { cursor: pointer; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1">
  <tr>
    <td>Row #1</td>
  </tr>
  <tr>
    <td>Row #2</td>
  </tr>
  <tr>
    <td>Row #3</td>
  </tr>
</table>


如果您需要 Internet Explorer 支持,请改用它,因为 IE 不支持Element.closest()

var selectedToolTableIndex = $(this).closest("tr").prop("rowIndex")

这将使用 jQuery.closest()导航到 parent <tr>,然后rowIndex通过.prop().


推荐阅读