此代码无法正常运行。它正在删除行1,3,5,7,9,即使值匹配与否,我想删除不包含任何名称的每一行
我做错了什么?我是这类事的新手。
var cuv1 = "John" ;
var cuv2 = "Jonny" ;
var cuv3 = "James" ;
var cuv4 = "Josh" ;
var cuv5 = "Jeff" ;
var cuv6 = "Joe" ;
var log = document.getElementsByName("log_str") ;
for(var i=0;i<log.length;i++)
{
if (log[i].textContent.match(cuv1) ||
log[i].textContent.match(cuv2) ||
log[i].textContent.match(cuv3) ||
log[i].textContent.match(cuv4) ||
log[i].textContent.match(cuv5) ||
log[i].textContent.match(cuv6)){}
else { (log[i].parentNode.parentNode.parentNode).remove(); }
}
问题通过反向循环解决。 谢谢
for(var i=log.length-1; i>=0; i--)
答案 0 :(得分:0)
以下是有效的代码:
var cuv1 = "John" ;
var cuv2 = "Jonny" ;
var cuv3 = "James" ;
var cuv4 = "Josh" ;
var cuv5 = "Jeff" ;
var cuv6 = "Joe" ;
var log = document.getElementsByName("log_str") ;
for(var i=0;i<log.length;i++)
{
if (log[i].text.indexOf(cuv1) >=0 ||
log[i].text.indexOf(cuv2) >=0 ||
log[i].text.indexOf(cuv3) >=0 ||
log[i].text.indexOf(cuv4) >=0 ||
log[i].text.indexOf(cuv5) >=0 ||
log[i].text.indexOf(cuv6) >=0){}
else { (log[i].parentNode.parentNode).remove(); }
}