Toon posts:

[js] removeNode werkt niet onder mozilla?!

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

weer een javascript-probleempje. Ik wil een tabel van een pagina kunnen verwijderen met een functie.
Ik had hiervoor de volgende code bedacht:

code:
1
2
tTable = document.getElementById('tabelletje');
tTable.removeNode(true);


Onder ie werkt dit prima, onder mozilla echter niet. Deze zegt tTable.removeNode is not a function.
Weet iemand hoe ik dit ook onder mozilla (firefox) aant werken krijg?

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

removeChild ;)

  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

FF een heel andere insteek, hem gewoon hiden met css?

  • gvanh
  • Registratie: April 2003
  • Laatst online: 02-12-2023

gvanh

Webdeveloper

Denk er bij "removeChild" overigens wel aan (daar ging ik de mist in), dat deze alleen werkt, als je hem aanroept vanuit de DIRECT parentNode van de node die je wilt verwijderen.

Wanneer je dus een HTML hebt, die er ongeveer zo uitziet:

code:
1
2
3
<div>
<span id='spanId'>Een tekst</span>
</div>


dan kun je span alleen verwijderen vanuit de div, en niet vanuit "document". Ter illustratie:

Dit werkt niet:
code:
1
2
var span = document.getElementById('spanId');
document.removeChild(span);


Dit zou wel moeten werken:
code:
1
2
var span = document.getElementById('spanId');
span.parentNode.removeChild(span);


Ik hoop dat ik nu niet de verschillende "node" methods door elkaar haal... volgens mij zat het in ieder geval zo.

Verwijderd

Dat lijkt me eigenlijk redelijk logisch. Is hetzelfde als met CSS selectors:
code:
1
body > span
... zou niet werken in dit geval, maar:
code:
1
div > span
... natuurlijk wel, omdat het om de 'childNode' gaat, niet om de 'descendent'.