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