问答详情
源自:9-22 编程练习

為什麼 var td1 = td.innerHTML = "<input type='text' />" 會無法執行?

function addRow(){
    var tbody = document.getElementById("table").lastChild;
    var tr = document.createElement("tr");
        
    var td = document.createElement("td");
    var td1 = td.innerHTML = "<input type='text' />"
    tr.appendChild(td1);
為什麼
var td1 = td.innerHTML = "<input type='text' />"
tr.appendChild(td1);
這兩段會無法執行?哪邊寫錯了?

提问者:sz_yeefun 2016-09-09 02:19

个回答

  • r363886121
    2016-09-09 10:20:56
    已采纳

    如果你要将var td = document.createElement("td");添加到tr,直接这样写就可以了:

    var td = document.createElement("td");

    td.innerHTML ="<input type='text' />";

    tr.appendChild(td);

    就可以了,没有必要再重新赋值给一个变量td1

    你将td.innerHTML赋给td1,可能td1已经不是一个Node了,自己可以用typeOf检测一下。应该为String类型了。所以不对。


  • Solomon_0
    2016-09-09 10:52:15

    楼上正解