Hvorfor bliver "aaa" ved med at være synlig?
I eksemplet nedenfor fjerner kaldet table.remove() tabellen fra dokumentet.
Men hvis du kører det, kan du se at teksten "aaa" stadig er synlig.
Hvorfor sker det?
<table id="table">
aaa
<tr>
<td>Test</td>
</tr>
</table>
<script>
alert(table); // tabellen, som forventet
table.remove();
// hvorfor er der stadig "aaa" i dokumentet?
</script>
Selve HTML-koden i opgaven er forkert. Det er årsagen til det mærkelige resultat.
Browseren må reparere det automatisk. Men der kan ikke være noget tekst inden i <table>: ifølge specifikationen er kun tabel-specifikke tags tilladt. Så browseren viser "aaa" før <table>.
Nu bliver det mere tydeligt hvorfor det bliver stående når tabellen fjernes.
Spørgsmålet kan nemt besvares ved at udforske DOM’en ved hjælp af browserværktøjerne. Du vil se "aaa" før <table>.
HTML-standarden specificerer i detaljer, hvordan man behandler dårlig HTML, og sådan adfærd fra browseren anses for korrekt.