Ich versuche Attributwert zu setzen, die einen Apostroph enthält:Sind einzelne/doppelte Anführungszeichen in HTML-Attributwerten zulässig?
var attr_value = "It's not working";
var html = "<label my_attr='" + attr_value + "'>Text</label>";
$('body').html(html);
Allerdings bekomme ich folgendes Ergebnis:
<label working="" not="" s="" my_attr="It">Text</label>
Wie könnte ich dieses Problem beheben?
Sind in Attributwerten doppelte Anführungszeichen zulässig?
Vielen Dank für eine detaillierte Antwort! Nur aus Neugier auf die Implementierung von 'encodeHTML': Es kann mit der' replace' Funktion implementiert werden, oder? Ist es weniger effektiv? –
Es kann, sicher, ersetzen (/ &/g, '&') ... '. In diesem Fall spielt es keine Rolle, da die Suchzeichenfolgen keine regulären Sonderzeichen enthalten dürfen, aber im Allgemeinen kann für plain string-replace 'split' /' join' einfacher sein, da Sie Suchstrings verwenden können, ohne müssen Sorgen Sie sich für Regex-Escaping. Die vergleichende Leistung variiert zwischen Browsern. – bobince
Danke! Könnten Sie mir einen Zeiger auf das Tutorial "Konstruktionsverknüpfung" geben? –