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に属しているため、最初に ( を使用して) 親を参照してから、要素に対してメソッドを呼び出す必要があります。parentNoderemoveChildnewDiv

また、同じ id: を持つ 2 つの要素があります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 は 1 つのアジェンダ アイテムでのみ機能することがわかります。複数のアジェンダで作業したいですか?

これを試してください:http://jsfiddle.net/5TmQC/1/

ほぼ同じコードですが、これはいくつかを削除できます。pop()

于 2013-08-19T02:41:19.510 に答える