我正在尝试获取所有td
并将每个td
值与字符串进行比较。
但我的代码只读取每个td
的第一个tr
。
这是我的HTML:
<table border="2px" id="tab">
<tr>
<td>color</td>
<td> a </td>
<td> font</td>
<td>123</td>
</tr>
<tr>
<td>font</td>
<td> color </td>
</tr>
<tr>
<td>a</td>
<td> color</td>
<td> font</td>
</tr>
<tr>
<td>font</td>
</tr>
</table>
我的js代码:
var t=["color","font","a"];
function color()
{
var colr=0;
var tab=[];
var table = document.getElementById("tab");
var len=table.rows.length;
for (var i = 0; i< len; i++)
{
for (var j=0; j<table.rows[i].cells.length; j++)
{
tab[j]= table.rows[i].cells[j].innerHTML;
// alert(tab[j]);
if(tab[j]== t[0])
{ colr++;}
}
}
alert(colr);
}
我错过了什么?
答案 0 :(得分:0)
<td>
中的间距正在弄乱比较。正如您的代码所在,您将" color"
与"color"
进行比较,并且返回false,因此您只能看到colr
索引达到1。
你需要去除空格才能正确比较,例如JSFiddle:https://jsfiddle.net/76q3aro3/