感覺答案不對啊。
參考代碼:
function addOne(obj){?
? ?var tbody = document.getElementById('table').lastChild; ?
var tr = document.createElement('tr'); ?//tr節(jié)點
?
var td = document.createElement("td");
td.innerHTML = "<input type='text'/>";
tr.appendChild(td);
?
td = document.createElement("td"); ?
td.innerHTML = "<input type='text'/>";
tr.appendChild(td);
?
td = document.createElement("td");
td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>刪除</a>";
tr.appendChild(td); ??
?
tbody.appendChild(tr); ??
Highlight();
? ? }
問題:
tbody.appendChild(tr); ? ?//父節(jié)點對象.appendChild(要插入的子節(jié)點對象);
但是上面父節(jié)點對象的定義:
? ?var tbody = document.getElementById('table').lastChild; ?//tabody=table節(jié)點的最后一個子節(jié)點
再看tbody.appendChild(tr);//按上面定義的tbody來看,tbody并不是tr的父節(jié)點,toody就是tr最后一項。
這不是矛盾了嗎?教材里說必須是 ? 父節(jié)點對象.appendChild(要插入的子節(jié)點);
關于appendChild,摘自教材。
插入節(jié)點appendChild()
在指定節(jié)點的最后一個子節(jié)點列表之后添加一個新的子節(jié)點。
語法:
appendChild(newnode)
參數(shù):
newnode:指定追加的節(jié)點。
2017-03-25
用childNodes來看整個table的子節(jié)點就知道這個table的lastChild是什么了
var oTable = document.getElementById("table");
console.log(oTable.childNodes);