在Javascript中搜索表的多行和多列

在Javascript中搜索表的多行和多列,javascript,css,html-table,Javascript,Css,Html Table,我有一个包含多行和多列的表。我编写了一个函数,目前只搜索表的第一列和最后一列,但是我不确定为什么跳过中间的列。我尝试添加另一个for循环,但出现了一个错误 函数function2(){ var input=document.getElementById(“myInput”); var filter=input.value.toUpperCase(); var table=document.getElementById(“table2c”); var tr=table.getElementsBy

我有一个包含多行和多列的表。我编写了一个函数,目前只搜索表的第一列和最后一列,但是我不确定为什么跳过中间的列。我尝试添加另一个for循环,但出现了一个错误

函数function2(){
var input=document.getElementById(“myInput”);
var filter=input.value.toUpperCase();
var table=document.getElementById(“table2c”);
var tr=table.getElementsByTagName(“tr”);
var td,tdArr,i,j;
对于(i=0;i-1){
tr[i].style.display=“”;
}否则{
tr[i].style.display=“无”;
}
}
}
}
}
这是我的表格:
标题名称:
说明:
价值:
授权
安全令牌
供应
内容类型
请求正文
应用
API-KEY
身份证件
供应
相关性
唯一标识符
e、 g.控制编号
名称
系统名称
什么之中的一个:

添加中断;如果找到匹配项,则为循环存在

函数function2(){
var input=document.getElementById(“myInput”);
var filter=input.value.toUpperCase();
var table=document.getElementById(“table2c”);
var tr=table.getElementsByTagName(“tr”);
var td,tdArr,i,j;
对于(i=0;i-1){
tr[i].style.display=“”;
打破
}否则{
tr[i].style.display=“无”;
}
}
}
}
}

标题名称:
说明:
价值:
授权
HMAC安全令牌
由APIGEE提供
内容类型
请求主体的媒体类型
application/xml
X-AMEX-API-KEY
HMAC ID
由APIGEE提供
相关性
跟踪消费者请求的唯一标识符
e、 g.过程控制编号
发起人姓名
原始用户系统名称
其中之一:GCAP、GDE

您可以从第二行开始循环,因为查找将使表头消失。然后,如果行中有找到的值,您可以提前关闭所有行并删除
'none'
。那就休息吧

函数function2(){
var input=document.getElementById(“myInput”),
filter=input.value.toUpperCase(),
table=document.getElementById(“table2c”),
tr=table.getElementsByTagName(“tr”),
td,tdArr,i,j;
对于(i=1;i-1){
tr[i].style.display=“”;
打破
}
}
}
}

标题名称:说明:值:
授权HMAC安全令牌由APIGEE提供
内容类型请求应用程序主体的媒体类型/xml
X-AMEX-API-KEY HMAC ID由APIGEE提供
相关标识跟踪消费者请求的唯一标识符,如过程控制编号
发起人名称发起消费者系统名称之一:GCAP、GDE

仅供参考,下面是一个使用Functional方法的实现,其中包含一些ES6功能(,和方法):

const过滤器=()=>{
const input=document.querySelector(“#myInput”);
const filter=input.value.toUpperCase();
const table=document.querySelector(“#table2c”);
const trs=table.querySelectorAll('tr:not(:first child)');
//循环通过除第一个(标题)之外的所有
trs.forEach(tr=>{
//将所有行的内容(标题、说明和值)减少为单个字符串)
const content=[…tr.children].reduce((content,td)=>content+''+td.textContent'')
//搜索筛选器是否在内容中
if(content.toUpperCase().includes(filter)){
tr.style.display=“”;
}否则{
tr.style.display=“无”;
}
});
}
//将事件侦听器添加到输入元素
document.querySelector(“#myInput”).addEventListener('keyup',filter)

标题名称:
说明:
价值:
授权
HMAC安全令牌
由APIGEE提供
康顿