Kaedah Javascript removeChild() untuk memadamkan nod dan memadam kemahiran nodes_javascript anak

WBOY
Lepaskan: 2016-05-16 15:23:08
asal
2332 orang telah melayarinya

Perkara berikut akan memperkenalkan kepada anda cara memadamkan nod menggunakan Javascript removeChild() Butiran khusus adalah seperti berikut:

Dalam Javascript, hanya ada satu kaedah untuk memadamkan nod: removeChild().

Kaedah

removeChild() digunakan untuk memadamkan nod anak nod induk.

Tatabahasa:

parent.removeChild(thisNode)

Perihalan parameter:

参数 说明
thisNode 当前节点,即要删除的节点
parent 当前节点的父节点,即 thisNode.parentNode

Sebagai contoh, pernyataan untuk memadamkan nod dengan id="demo" ialah:

var thisNode=document.getElementById("demo");
thisNode.parentNode.removeNode(thisNode);
Salin selepas log masuk

Contohnya, padamkan nod:

<div id="demo">
  <div id="thisNode">点击删除我</div>
</div>
<script type="text/javascript">
document.getElementById("thisNode").onclick=function(){
  this.parentNode.removeChild(this);
}
</script>
Salin selepas log masuk

Contoh tunjuk cara:

Dapat dilihat bahawa walaupun Javascript hanya menyediakan satu kaedah untuk memadam nod, ia sudah memadai.

ps: Kaedah JavaScript untuk memadamkan nod anak

Kod HTML adalah seperti berikut:

<div id="f"> 
 <div>a</div> 
 <div>b</div> 
 <div>c</div> 
</div> 
Salin selepas log masuk

Jika anda ingin memadamkan semua nod anak di bawah nod f, kaedah semula jadi dan biasa yang terlintas di fikiran hendaklah kod berikut:

var f = document.getElementById("f"); 
var childs = f.childNodes; 
for(var i = 0; i < childs.length; i++) { 
  alert(childs[i].nodeName); 
  f.removeChild(childs[i]); 
} 
Salin selepas log masuk

Apabila program dijalankan, kami mendapati bahawa tidak kira sama ada di bawah FireFox atau IE, semua nod anak tidak dapat dipadamkan sepenuhnya (kawasan kosong juga telah dipadamkan dalam FireFox
sebagai nod, jadi hasil pemadaman nod akan berbeza), ini kerana apabila anda memadamkan nod anak dengan indeks 0, adalah wajar bahawa indeks asal
Pada masa ini, indeks nod iaitu 1 menjadi 0, dan pada masa ini pembolehubah i telah menjadi 1. Apabila program diteruskan, ia akan memadamkan nod dengan indeks asal 2 dan kini ia adalah 1. Dalam ini Caranya, hasil daripada menjalankan program ialah hanya nod yang dipadamkan Untuk separuh daripada nod anak, hasil merentasi menggunakan untuk dalam adalah sama. Mahu memadamkan semua nod seperti biasa
Jika ya, kita harus memadamkan dari belakang ke hadapan, kodnya adalah seperti berikut:

for(var i = childs.length - 1; i >= 0; i--) { 
  alert(childs[i].nodeName); 
  f.removeChild(childs[i]); 
} 
Salin selepas log masuk

Kami mula memadam daripada nilai indeks maksimum, menggunakan kaedah menurun, supaya indeks tidak akan bergerak atau berubah.

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan