我有一张桌子。每行都有一个ID。
我是否可以仅使用其ID(无点击)并且不使用循环来获取任何行的索引?
我的HTML看起来像这样:
<table id="tabId">
<tr id="a">
<td>ss</td>
<td>ss</td>
</tr>
<tr id="b">
<td>kk</td>
<td>kk</td>
</tr>
我试过了:
var row_number = document.getElementById('a').rowIndex;
但它不起作用;我得到一个error message说:
[ts]'HTMLElement'类型中不存在属性'rowIndex'。
答案 0 :(得分:2)
您忘了将''
添加到getElementById()
功能,而您写的rowIndex
并非属性和错误。
这是一个有效的例子:
var row_number = document.getElementById('a').rowIndex;
alert(row_number);
<table id="tabId">
<tr id="a">
<td>ss</td>
<td>ss</td>
</tr>
<tr id="b">
<td>kk</td>
<td>kk</td>
</tr>
答案 1 :(得分:2)
var el = (document.getElementById('b')) as HTMLTableRowElement;
console.log(el.rowIndex);
答案 2 :(得分:0)
var rows = Array.prototype.slice.call(document.getElementById('tabId').rows);
var row = document.getElementById('b');
console.log(rows.indexOf(row));
这是Example
答案 3 :(得分:0)
特别感谢@durga的解决方案。我通过显式键入变量来修复它。
var el : any = (document.getElementById('a')) as HTMLTableElement;
var index = el.rowIndex;
console.log(index);
答案 4 :(得分:-1)
您可以使用on click on particulate tr
获取index
或将Rowindex
更改为rowIndex
并在''
id of div 'a' in script
function myFunction(x) {
console.log("Row index is: " + x.rowIndex);
}
&#13;
<table id="tabId">
<tr id="a" onclick="myFunction(this)">
<td>ss</td>
<td>ss</td>
</tr>
<tr id="b" onclick="myFunction(this)">
<td>kk</td>
<td>kk</td>
</tr>
&#13;
答案 5 :(得分:-2)
document.getElementsByTagName("tr")[index].id;
<table id="tableId">
<tr id="a">
<td>a</td>
</tr>
<tr id="b">
<td>b</td>
</tr>
</table>
var table = document.getElementById("tableId");
var row = table.rows[index];
console.log(row.id);