tilbage til lektionen
Dette materiale er kun tilgængeligt på følgende sprog: عربي, English, Español, Français, Italiano, 日本語, 한국어, Русский, Türkçe, Українська, Oʻzbek, 简体中文. Hjælp os med at oversætte til Dansk.

Hvorfor bliver "aaa" ved med at være synlig?

vigtighed: 1

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.