2017-05-12 42 views
0

我試圖獲取全部td並將每個td值與一個字符串進行比較。 但我的代碼只讀取每個tr的第一個td使用Javascript讀取所有td值

這裏是我的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

你可以使用jQuery嗎? –

+0

@AlejandroPérezFals,我正在與js合作 – Narjess

回答

0

<td>的間距與比較混亂。因爲你的代碼在於,你在比較" color""color",這是返回false,因此看到,因爲你只得到colr指數上升到1.

你需要去掉空格才能比較正確的例子JSFiddle在這裏:https://jsfiddle.net/76q3aro3/

+0

謝謝,它的工作原理! – Narjess