Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-搜索表列中的字符串_Javascript_Search - Fatal编程技术网

Javascript-搜索表列中的字符串

Javascript-搜索表列中的字符串,javascript,search,Javascript,Search,我正在我的表列中搜索字符串“None”。它会这样做,但我无法获得后面的行号。我正在尝试使用“rowIndex”属性。不确定它为什么拉“不是数字”(NaN)。表为50行10列。我假设这可能与我从列而不是行中提取有关 function F0416() { var tab = document.getElementById('part1Table'); var l =

我正在我的表列中搜索字符串“None”。它会这样做,但我无法获得后面的行号。我正在尝试使用“rowIndex”属性。不确定它为什么拉“不是数字”(NaN)。表为50行10列。我假设这可能与我从列而不是行中提取有关

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)
函数F0416()
{
var tab=document.getElementById('part1Table');
var l=tab.rows.length;
var s='';
对于(变量i=0;i
您可以测试列中每个单元格的值是否为“无”,而不是将列中的所有值串联成一个字符串并搜索该字符串。这样,您就可以从循环计数器中知道行号,如果找到它,就可以停止循环,而不是遍历每一行

它看起来更像这样:

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;
    }
}
for(变量i=0;i

您还可以返回行的值,而不是输出它。

我建议使用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>

第1行-第1列第1行-第2列
第2行-第2列
第3行-第1列第3行-第2列
您可以使用以下命令获取包含
none
的所有行:

var rows=$('table tr')。过滤器(“:contains('none')”);


看看“this”的价值是什么?确保它是当前行。很抱歉,我有几天没有回答。我在工作中有其他义务,花了我所有的时间。我选择了“超现实的梦想”谁是对的。我刚刚粘贴了代码,它就起了作用。我相信JQuery答案也会起作用,但我现在不使用它。我现在只编写了大约一周的脚本,总共花了几个小时,只是想习惯它。谢谢你们的回答。