为什么它给出错误“appendChild为null”错误,我该如何解决它

时间:2017-07-25 13:59:00

标签: javascript

当我尝试将td元素附加到tr时,它会抛出错误:

  

无法读取属性appendChild of null

这是我的代码:

var col = prompt('Enter the number of columns, table needs to have');
var row = prompt('Enter the number of rows, the table should have');

function columnCreator() {
    var table = document.querySelector('tableDiv');
    var tableRow = document.createElement('tr');
    table.appendChild(tableRow);

    for (var i = 0; i < col; i++) {
       var tableData = document.createElement('td');
       tableRow.appendChild(tableData);
       var dummyText = document.createTextNode('Table Data');
       tableData.appendChild(dummyText);
    }
}

columnCreator();

2 个答案:

答案 0 :(得分:1)

var table = document.querySelector('tableDiv');
console.log(table)//undefined

Theres就像 tableDiv 一样,无论是id,类还是嵌套结构:

var table = 
    document.querySelector('#tableDiv') //id
||  document.querySelector('.tableDiv') //class
||  document.querySelector('table > div') //div inside table
||  document.querySelector('div > table');//table inside div

答案 1 :(得分:0)

因为您的x = new(std::nothrow) int(5);变量不是有效的DOMElement。

table

如果var table = document.querySelector('tableDiv');是id,则该document.querySelector('#tableDiv');应为{。}}。

您可以在MDN Documentation中了解有关tableDiv功能的更多信息。