我寫了一個這個問題的答案:Fetch content of next td on checkbox click,答案被接受(截至寫這個問題)。爲什麼腳本在評估同一個腳本中的'element.checked'時會有所不同,它們作用於具有相同結構的不同錶行?
目的是在包含輸入複選框的當前單元格後面查找表格單元格的文本值;對於第二行,這可以工作(在Chrome 18/WinXP中),但是在第一行中,評估console.log(that.checked);
的計算結果爲false(無論我看到的是,是否被檢查)。
提供的HTML:
<table>
<tr>
<td>
<input type=checkbox name=t>
</td>
<td width=25%>
FOOBAR
</td>
<td width=73%>
BAZ
</td>
</tr>
<tr>
<td>
<input type=checkbox name=t>
</td>
<td width=25%>
FOO
</td>
<td width=73%>
BAR
</td>
</tr>
</table>
而且我的JavaScript:
var c = [];
c = window.document.getElementsByTagName('input');
for (var i = 0; i < c.length; i++) {
var that = c[i];
if (that.type == 'checkbox') {
that.onchange = function() {
console.log(that.checked);
if (that.checked){
console.log(that.parentNode.nextElementSibling.firstChild.nodeValue.trim());
}
};
}
}
注意,它似乎向可靠第二行(和日誌FOO
到控制檯)工作,但在第一行中只有false
控制檯日誌。我正在犯一個明顯的錯誤嗎?
你得到你的這個那個迷茫 – j08691 2012-04-26 20:41:04
始終的方式;。有次我們應該知道停止或採取一些休息的哎呀=) – 2012-04-26 20:42:26