Felix Riesterer: javascript replace Browser macht eigenständige Sachen p-element

Beitrag lesen

problematische Seite

Lieber Henry,

Deine gesuchten Textteile sind hier:

<p>Es war einmal ein armer Fischer und seine Frau</p>

Du hast also ein <p>, in dem Deine Ersetzungen vorgenommen werden sollen. Das neue innerHTML wäre dann das hier:

<p>Es war einmal ein <hr> Fischer <hr></p>

Das ist kein gültiges HTML, weil ein <hr> ein Block-Level Element ist, und in <p> dürfen nur inline-Elemente sein. Deswegen parst der Browser deine Tag-Suppe und korrigiert die strukturellen Fehler. Dabei rät er, was Du wohl gemeint haben könntest und nimmt eben nicht das erste, sondern das zweite Beispiel:

<p>Es war einmal ein </p><hr/><p> Fischer </p><hr/><p></p>
<p>Es war einmal ein </p><hr/> Fischer <hr/><p></p>

Wenn der Browser raten muss, dann macht er im Grunde das, was er für richtig hält, und nicht das, was Du vielleicht gerne hättest.

Liebe Grüße

Felix Riesterer