我有一個表格,當單擊包含單元格的按鈕時,要遍歷每個單元格。但是,循環似乎不運行,我無法找到問題。爲什麼我的for循環不循環我的表格單元格? JavaScript
這裏是代碼片段:
element.onclick = function() {
//Sets color of selected element
for (var i = 0, cell; cell = document.getElementById('targetLocation').row.cells[i]; i++) {
if (cell.firstChild.style.background == "rgba(223, 22, 22, 0.53)") {
cell.firstChild.style.background = 'red';
}
else {
alert('Despite all, I loop')
};
};
};
<table id="targetLocation">
<tr>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
<th>D</th>
<th>E</th>
<th>F</th>
<th>G</th>
<th>H</th>
<th>I</th>
<th>J</th>
</tr>
<tr>
<th>1</th>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
<td><button class="cells" onmouseover="getTarget(this)">O</button></td>
</tr>
</table>
下面是相應的JavaScript:
對於澄清: 「元素」 是你在上空盤旋的元素。當鼠標懸停在單元格上時,背景顏色將變爲rgba(223,22,22,0.53)。如果您目前在該單元格上方懸停,並且您單擊該按鈕,則應該變成紅色。 onclick函數本身就可以工作,如果我在該函數中設置了一個警報,例如,它可以工作,所以我猜測它是for循環被破壞了。
你可以發佈一個工作片斷? – Nisarg
行應該是什麼?只有['rows'](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/rows)。 – PeterMader
@PeterMader感謝您的提示! –