Javascript 我如何解决对象没有方法';追加儿童';

Javascript 我如何解决对象没有方法';追加儿童';,javascript,Javascript,我的问题是,当您在控制台中运行代码时,会显示以下内容:对象没有方法“appendChild” 这是我的代码: function createColumns() { var nodesTr = document.getElementsByTagName( 'tr' ); for( var i in nodesTr ) { if( i < 3 || i == 8 || i == 13 || i == 15 || i == 18 )

我的问题是,当您在控制台中运行代码时,会显示以下内容:对象没有方法“appendChild”

这是我的代码:

    function createColumns() {

    var nodesTr = document.getElementsByTagName( 'tr' );

    for( var i in nodesTr ) {

        if( i < 3 || i == 8 || i == 13 || i == 15 || i == 18 )
            continue;

        for( var j = 1; j <= 14; j++ ) {

            var nodeHTML = document.createElement( 'td' );
            nodeHTML.innerHTML = 1;
            nodesTr[ i ].appendChild( nodeHTML );

        }   // end for

    }   // end for

} // end function createColumns

这是因为您在中使用了
for,而不是
for
语句

这将影响非节点的属性:

for( var i in nodesTr ) {

您可以通过使用
console.log()
记录您的值来验证这一点

console.log(i, nodesTr[ i ]);
我相信它会命中
.length
属性,也许还会命中
.item()
方法


使用
for
语句只会迭代数值索引,并将保证顺序是您在循环中定义的顺序

for (var i = 0; i < nodesTr.length; i++) {
for(变量i=0;i
这是因为您在
中使用了
for而不是
for
语句

这将影响非节点的属性:

for( var i in nodesTr ) {

您可以通过使用
console.log()
记录您的值来验证这一点

console.log(i, nodesTr[ i ]);
我相信它会命中
.length
属性,也许还会命中
.item()
方法


使用
for
语句只会迭代数值索引,并将保证顺序是您在循环中定义的顺序

for (var i = 0; i < nodesTr.length; i++) {
for(变量i=0;i
您可以将html和js放在JSFIDLE中吗?为什么不改用insertCell?您可以将html和js放在JSFIDLE中吗?为什么不改用insertCell?