javascript - 将表格的克隆行附加到表格的指定位置

标签 javascript html

function CreateInterface(){
    document.getElementById("welcome").innerHTML=
       '<form action="?" method="get" onsubmit=" return validate(this)">' +
       '<table id="dataTable" summary="" cellspacing="3" cellpadding="0" border="0">' +
       '<tr id="tablerow">' + '<td><INPUT type="checkbox" name="chk"/></td> '+
       '<th>Userid   : </th>' + '<td ><input name="userid" type="text" class="text" value="" maxlength="10" /></td>' +
       '</tr>' + '<tr><td colspan="2" align="center">'+
       '<INPUT type="button" value="Add" onclick="addRow()" />' +
       '<INPUT type="button" value="Delete" onclick="delRow()" />' +
       '<input type="submit" value="submit" />'+'</td></tr>' +
       '</table>' +
       '</form>';
}

function addRow(){

  var clnNode=document.getElementById("tablerow").cloneNode(true);  
  document.getElementById("dataTable").appendChild(clnNode);
}

这是我的代码,我希望将这个克隆节点插入到按钮上方。事实上这段代码不起作用,即节点没有被添加到表中。请帮我解决这个问题

最佳答案

不要使用 id="tablerow"因为重复的 ID 会导致 HTML 格式错误。
更改 <tr id="tablerow"> 在你的字符串中只是 <tr>

脚本

function addRow() {
    var referenceNodes = document.getElementById("dataTable").getElementsByTagName("tr");
    //-2 because last row is button row
    var referenceNode = referenceNodes[referenceNodes.length - 2];
    var newNode = referenceNode.cloneNode(true);
    newNode.getElementsByTagName("input")[0].checked = false;
    newNode.getElementsByTagName("input")[1].value = "";
    referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}

演示:http://jsfiddle.net/naveen/wbFMm/

关于javascript - 将表格的克隆行附加到表格的指定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7103559/

相关文章:

javascript - 捆绑失败: Error: Requires Babel "^7.0.0-0"

javascript - 在网格中使用 rowTemplate 时如何使剑道网格可编辑?

javascript - 为 Angularjs 指令实现更改处理程序

javascript - 使用nodejs查询mysql数据库

javascript - Phaser 计算给定 y 点所需的 y 速度

javascript - 将内容类型为 'application/java-archive' 的数据转换为 blob 对象

html - CSS-文本向上移动

javascript - 即使在绑定(bind)函数之后 this.variable 也没有定义?

javascript - 将 HTML 映射到 JSON

html - 限制 LI "Christmas Lights"的数量/宽度?