[英]Error: Cannot read property 'replaceChild' of undefined
保存記錄時,我試圖更新表以顯示新行。 我的代碼當前將再次與現有表一起加載整個表。 例如,我看到的是第1-15行,然后添加一行並看到總共31個行,第1-15行,然后是1-16行都在同一張表中。
這是我的replace函數的代碼,該代碼在需要替換數據時調用我的原始load函數。 我基於另一個我看到的例子。
function replaceData() {
var old_tbody = document.getElementsByTagName('tbody');
var new_tbody = document.createElement('tbody');
loadData(new_tbody);
old_tbody.parentNode.replaceChild(new_tbody,old_tbody);
console.log("Data replaced");
}
我顯然不是JavaScript專家,因此不勝感激。
getElementsByTagName函數返回一個HTML集合 (類似於數組的對象),這意味着您必須指定所需的數組中的哪一項(即使只有一項)。
因此,您的代碼基本上應該是:
var old_tbody = document.getElementsByTagName('tbody')[0];
或者,您可以使用querySelector僅返回第一個匹配的元素。 像這樣:
var old_tbody = document.querySelector('tbody');
getElementsByTagName實際上返回元素的集合,因此parentNode不起作用。 要獲取實際的DOM節點,請執行以下操作。
var old_tbody = document.getElementsByTagName('tbody')[0];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.