Perché rimane "aaa"?
Nell’esempio sotto, la chiamata a table.remove() rimuove la tabella dal documento.
Ma se eseguiamo il codice, potrai vedere che il testo "aaa" è ancora visibile.
Perché?
<table id="table">
aaa
<tr>
<td>Test</td>
</tr>
</table>
<script>
alert(table); // la tabella, come dovrebbe essere
table.remove();
// perché aaa è ancora nel documento?
</script>
L’HTML nel task è incorretto. Questa è la ragione della stranezza.
Il browser deve sistemarlo automaticamente. Ma non vi può essere testo dentro a <table>: secondo la specifica, solo gli specifici tag per le tabelle sono permessi. Perciò il browser aggiunge "aaa" prima di <table>.
Ora è ovvio perché, rimuovendo la tabella, il testo rimane.
La domanda può facilmente trovare risposta esplorando il DOM con gli strumenti del browser. Mostra "aaa" prima di <table>.
Lo standard HTML specifica in dettaglio come processare cattivo HTML, e questo comportamento del browser è corretto.