因爲value
是HTMLInputElement屬性和TD
元素不是HTMLInputElement
但HTMLTableCellElement
,因此不存在該屬性和:
undefined + 1; // NaN - Not a Number
你基本上可以使用和你一樣的innerHTML
屬性T中的內容也得到它:
function plus() {
// no need to execute `getElementById` twice
var td = document.getElementById("run");
td.innerHTML = +td.innerHTML + 1;
}
要轉換的號碼我用了unary plus operator值。你也可以檢查它是否在使用前它的NaN
,是這樣的:
function plus() {
var td = document.getElementById("run");
var value = +td.innerHTML || 0;
td.innerHTML = value + 1;
}
在這種情況下,如果是NaN
(或0,但在這種情況下,它的身份)將設置爲0,並且計數將啓動1
沒有提供任何錯誤。
此外,我會說,它可以更好地使用textContent財產支持,但然後代碼將處理所有瀏覽器的一些更復雜(例如在一些IE版本中,您需要使用innerText
代替),並且在大多數情況下,innerHTML
可能會很好。
也許另一個你可以做到這一點:http://jsfiddle.net/userdude/UUdV8/ –