使用Javascript

时间:2017-05-12 14:25:56

标签: javascript tabs html-table

我正在尝试获取所有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);
  }

我错过了什么?

1 个答案:

答案 0 :(得分:0)

<td>中的间距正在弄乱比较。正如您的代码所在,您将" color""color"进行比较,并且返回false,因此您只能看到colr索引达到1。

你需要去除空格才能正确比较,例如JSFiddle:https://jsfiddle.net/76q3aro3/