我在Table Column中搜索字符串" None"。它这样做但我无法获得行号。我试图使用" rowIndex"属性。不知道为什么它会拉动#34;不是数字" (NAN)。表是50行10列。我假设它可能与我从列而不是Row中拉。
function F0416()
{
var tab = document.getElementById('part1Table');
var l = tab.rows.length;
var s = '';
for ( var i = 0; i < l; i++ )
{var tr = tab.rows[i];
var cll = tr.cells[2];
s += ' ' + cll.innerText;
}
var y = (s.indexOf('None') != -1)
document.write(this.rowIndex + 1)
答案 0 :(得分:2)
不是将列的所有值连接成字符串并搜索字符串,而是可以测试列中每个单元格的值为“None”。然后你就会知道循环计数器中的行号,你可以在找到它时停止循环,而不是遍历每一行。
看起来更像是这样:
for ( var i = 0; i < l; i++ ) {
var tr = tab.rows[i];
var cll = tr.cells[2];
if(cll.innerText.indexOf('None') != -1) {
document.write(i + 1);
break;
}
}
您也可以返回行的值而不是输出它。
答案 1 :(得分:2)
我建议使用像JQuery这样丰富的javascript库。
然后给出以下HTML:
<table>
<tr><td>Row 1- Column 1</td><td>Row 1 - Column 2</td>
<tr><td>none</td><td>Row 2 - Column 2</td>
<tr><td>Row 3- Column 1</td><td>Row 3 - Column 2</td>
</table>
您可以使用以下内容获取包含none
的所有行:
var rows = $('table tr').filter(":contains('none')");