ChrisB: String in Input schreiben --> Problem mit &

Beitrag lesen

Hi,

<p>Ein Text &amp; ein Sonderzeichen</p>

<input type="text" value=""/>


>   
> ~~~javascript

//es wird jquery benutzt  

> var text_element = $('p').html();  
> $('input').val(text_element);

Statt "Ein Text & ein Sonderzeichen" (so wird es auch in meinem p Element angezeigt) steht nun in meinem input "Ein Text &amp; ein Sonderzeichen", also mit &amp; .

Logisch, das *ist* ja auch das, was im HTML des Elements steht.

Beim Zugriff auf das value-Attribut eines Textfeldes in JavaScript wird aber Text erwartet, der bereits „geparst“ *ist* - eine Umsetzung von HTML-Entities findet innerhalb von JavaScript nicht mehr statt.
(Wenn das value im HTML stehen würde, value="Ein Text &amp; ein Sonderzeichen" - dann wäre das was anderes. Das würde vom HTML-Parser beim Erstellen des Textfeldes entsprechend umgesetzt.)

Wie bekomme ich das &amp; zu einem & in meinem input?

Lese nicht das HTML aus, sondern den Textinhalt.
Statt .html() -> .text()

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?