0

我想知道删除由 appendchild 添加的行的语法。

还有一个removechild,但是不知道怎么操作。

<input type="button" id='submitlink' value="ADD_AGENDA" onClick="generateRowAgenda()" name="AGENDA"/>
<input type="button" id='submitlink' value="" onClick="removeRow()" name="AGENDA"/>

<script language="">
function generateRowAgenda() {

    var temp ="<p><input type='text' class='textinputagenda' name='MM_AGENDA[]'></p>";
    var newdiv = document.createElement('AGENDA');
    newdiv.innerHTML = temp;
    var yourDiv = document.getElementById('AGENDA');
    yourDiv.appendChild(newdiv);
}

function removeRow(){
  yourDiv.appendChild.deleteRow(newdiv);
}



</script>

<br>
<div id="AGENDA" align="center"></div>
4

1 回答 1

0

那将是:

function removeRow(element){
   element.parentNode.removeChild(element);
}
removeRow(newDiv);

也就是说,该removeChild方法实际上属于元素的parent,因此您需要先引用父级(通过 using parentNode),然后removeChild在该newDiv元素上调用该方法。

此外,您有两个具有相同 id 的元素:submitlink. 这并不好。

如果重命名元素,则可以添加一个调用该removeRow函数的侦听器。

<input type="button" id='doremove' value="" onClick="removeRow()" name="AGENDA"/>

(现在iddoremove

现在做这样的事情来使removeRow函数在点击时执行:

document.getElementById('doremove').addEventListener('click', function(e) {
    removeRow(newDiv);
});

这是关于 jsfiddle 的示例:http: //jsfiddle.net/5TmQC/

您会注意到 remove 仅适用于一个议程项目。您想处理多个议程吗?

那么试试这个:http: //jsfiddle.net/5TmQC/1/

几乎相同的代码,但是这个可以删除几个,按顺序使用pop()

于 2013-08-19T02:41:19.510 回答