【问题标题】:Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node' error on append tr to a table无法在“Node”上执行“appendChild”:将 tr 附加到表时参数 1 不是“Node”类型错误
【发布时间】:2016-08-21 05:32:43
【问题描述】:

我有以下代码:

  var counter = 3;
    function AddAddressRow() {
        var newRow = jQuery('<tr><td><div>' +
            '<select class="dropdown-wrap k-rtl " id="ddlPrefix' +
            counter +
            '_1" style="width: 100px;">' +
            '<option value="option1" selected="selected">Option 1</option>'+
            '<option value="option2">Option 2</option>' +
            '</select> <br /><br/></div></td><td><div>' +
            '<select class="dropdown-wrap k-rtl " id="ddlPrefix' +
            counter +
            '_2" style="width: 100px;">' +
            '<option value="option1" selected="selected">Option 1</option>'    +
            '<option value="option2">Option 2</option>' <
            +'/select><br /></div></td><td><input style="width: 100px;"           
            id="txtAddress' + counter+'"/><br/><br/></td></tr>');
        counter++;
        $("table#AddressTable").append(newRow);
    }

点击下方按钮

 <button  onclick="AddAddressRow();">+</button>

我发现了 TypeError:

在 'Node' 上执行 'appendChild' 失败:参数 1 不是 'Node' 类型

【问题讨论】:

  • 旁注:查看现有的模板框架,如handlebarsJS,而不是使用字符串连接构建HTML...
  • 您的newRow 字符串中有与拼写错误相关的无效语法(请注意语法突出显示的错误...)

标签: javascript c# jquery append appendchild


【解决方案1】:

newRow 没有返回 tr 节点。 检查小提琴here

或者试试这样的:

var tr_ele = document.createElement('tr');
tr_ele.innerHTML = '>html here..<';
$("table#AddressTable").append(tr_ele);

【讨论】:

  • 谢谢,我试过你的代码,但它只返回一个“真实”,我错过了什么?
  • 结束标签是
    应该是
  • 我认为字符串搞砸了——检查结束选择标签。 'Option 2' +'


    ');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-21
  • 1970-01-01
相关资源
最近更新 更多