我正在製作一個頁面,其中每個td都可以通過單擊進行編輯。更改單元格內的innerHTML
每個TD的onclick是以下js函數:
var createInput = function (e) {
e.innerHTML = "<button id = 'option1' onclick = updateComplete(this)><span>Complete</span></button><button id = 'option2' onclick = updatePartial()><span>Partial</span></button>";
setRowHeights(); //not important
}
所以TD最終看起來像這樣:
<td title="Y" id="0:2" onclick="createInput(this)" class="options">
<button id="option1" onclick="updateComplete(this)">
<span>Complete</span>
</button>
<button id="option2" onclick="updatePartial()">
<span>Partial</span>
</button>
</td>
如果 「完成」 按鈕被點擊我想的innerHTML的的整個單元改變,以便它只是說「完成」一詞:
var updateComplete = function (e) {
var cell = e.parentElement
cell.innerHTML = "complete";
}
但是,這樣做沒有工作。什麼也沒有發生,除了當我在Chrome中瀏覽的元素,TD的標籤和按鈕亮起粉紅色:
然而,
如果我這樣做對TD第一clcik所以按鈕出現,然後運行此明確引用單元格id的其他函數...
var updateCompleteOther = function() {
var cell = document.getElementById("0:2");
cell.innerHTML = "complete";
}
...它的工作原理。
爲什麼我不能從td中的按鈕更改td的innerHTML?
事件傳播,您可以創建一個相同小提琴? –
我從來沒有做過之前,但我會嘗試:) –
檢查我的答案低於 –