Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在表中添加和删除行_Javascript_Html_Row_Delete Row - Fatal编程技术网

Javascript 在表中添加和删除行

Javascript 在表中添加和删除行,javascript,html,row,delete-row,Javascript,Html,Row,Delete Row,我正在尝试为一个表编写代码,该表由一个文本框、一个dropdownlist和每行上的一个delete按钮组成 当用户单击“添加行”时,它会添加另一行,该行在第一行上具有相同的元素。当用户单击“删除”时,将删除该特定行,如下图所示: 这是我的密码: function deleteRow(r) { var i = r.parentNode.parentNode.rowIndex; document.getElementById("myTable").

我正在尝试为一个表编写代码,该表由一个文本框、一个dropdownlist和每行上的一个delete按钮组成

当用户单击“添加行”时,它会添加另一行,该行在第一行上具有相同的元素。当用户单击“删除”时,将删除该特定行,如下图所示:

这是我的密码:

function deleteRow(r) {
            var i = r.parentNode.parentNode.rowIndex;
            document.getElementById("myTable").deleteRow(i);
        }

       function myCreateFunction(n) {
            var tr = n.parentNode.parentNode.cloneNode(true);
            document.getElementById('myTable').appendChild(tr);
       }
HTML:

<table id="myTable">
        <tr>
          <td >
          <input type="text" style="width:100%" />   
          </td>
      <td>
          <select>
                  <option value="Beginner" >Beginner</option>
                  <option value="Intermediate" >Intermediate</option>
                  <option value="Advanced" >Advanced</option>
              </select>
      </td>
          <td><input type="button" value="Delete" onclick="deleteRow(this)"></td>
        </tr>

    </table>

    <input type="button" class="add" value=" Add Row " onclick="myCreateFunction(this)" />

初学者
中间的
先进的

这是因为您克隆的不是
tr
,而是
addrow
按钮的父项,该按钮不是
tr
,而是包含表的父项。您只需要获取表的第一行并克隆它

函数deleteRow(r){
var i=r.parentNode.parentNode.rowIndex;
document.getElementById(“myTable”).deleteRow(i);
}
函数myCreateFunction(n){
var tr=document.getElementsByTagName('tr')[0].cloneNode(true);
document.getElementById('myTable').appendChild(tr);
}

初学者
中间的
先进的

这是因为您克隆的不是
tr
,而是
addrow
按钮的父项,该按钮不是
tr
,而是包含表的父项。您只需要获取表的第一行并克隆它

函数deleteRow(r){
var i=r.parentNode.parentNode.rowIndex;
document.getElementById(“myTable”).deleteRow(i);
}
函数myCreateFunction(n){
var tr=document.getElementsByTagName('tr')[0].cloneNode(true);
document.getElementById('myTable').appendChild(tr);
}

初学者
中间的
先进的

欢迎使用堆栈溢出!其他用户将您的问题标记为低质量和需要改进。我对您的输入进行了重新措辞/格式化,使其更易于阅读/理解。请查看我的更改,以确保它们反映您的意图。但我认为你的问题仍然无法回答。您现在应该回答您的问题,以添加缺少的详细信息(请参阅)。如果您有进一步的问题或反馈,请随时给我留言。您的问题中没有明确的描述来告诉我们您认为错误是什么!欢迎来到堆栈溢出!其他用户将您的问题标记为低质量和需要改进。我对您的输入进行了重新措辞/格式化,使其更易于阅读/理解。请查看我的更改,以确保它们反映您的意图。但我认为你的问题仍然无法回答。您现在应该回答您的问题,以添加缺少的详细信息(请参阅)。如果您有进一步的问题或反馈,请随时给我留言。您的问题中没有明确的描述来告诉我们您认为错误是什么!