Hi,
<p>Ein Text & 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 & ein Sonderzeichen", also mit & .
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 & ein Sonderzeichen" - dann wäre das was anderes. Das würde vom HTML-Parser beim Erstellen des Textfeldes entsprechend umgesetzt.)
Wie bekomme ich das & 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?