无法调用方法appendChild为null

时间:2012-05-06 20:29:11

标签: javascript for-loop html-table appendchild

它出现在:

for(var i = 0; i<phoneNums.length; i++)
{
    var lines = document.createElement('tr');
    var number = document.createElement('td');
    number.innerHTML = phoneNums[i];
    var minutes = document.createElement('td');
    minutes.innerHTML = minutesUsed[i];
    var plan = document.createElement('td');
    plan.innerHTML = plans[i];
    var charges = document.createElement('td');
    charges.innerHTML = charge[i];
    document.getElementById('theTable').appendChild(lines);
    lines.appendChild(number);
    lines.appendChild(minutes);
    lines.appendChild(plan);
    lines.appendChild(charges);
}

具体在:

document.getElementById('theTable').appendChild(lines);

<table id = 'theTable'>
        </table>
        <script type = 'text/javascript'>
            populateTable();
        </script>

我正在尝试创建一个将trtd以及值添加到表中的函数。

2 个答案:

答案 0 :(得分:3)

您可能在文档中存在“theTable”之前运行此脚本。确保此脚本位于具有id="theTable"的表下方,或者在表存在后发生的事件处理程序中运行。

答案 1 :(得分:1)

这意味着您的DOM中没有id为“theTable”的元素。你的HTML中的某个地方你应该有:

<table id="theTable">...

或者,正如其他人也提到的那样,在脚本执行之前,这个元素可能尚未加载到DOM中。