Próbuję ustawić wartość atrybutu, który zawiera jeden cytat:Czy dozwolone są pojedyncze/podwójne cudzysłowy w wartościach atrybutów HTML?
var attr_value = "It's not working";
var html = "<label my_attr='" + attr_value + "'>Text</label>";
$('body').html(html);
Jednak uzyskać następujący wynik:
<label working="" not="" s="" my_attr="It">Text</label>
Jak mogę rozwiązać ten problem?
Czy dopuszczalne są cudzysłowy wewnątrz wartości atrybutów?
Wielkie dzięki za szczegółową odpowiedź! Tylko dla ciekawości odnośnie implementacji 'encodeHTML': Może być zaimplementowana za pomocą funkcji' replace', prawda? Czy to mniej skuteczne? –
Może, na pewno, "wymienić (/ & g," & ") ...". W tym przypadku nie ma znaczenia, ponieważ ciągi wyszukiwania nie mogą zawierać żadnych znaków specjalnych regex, ale ogólnie dla zwykłego ciągu znaków - zamień 'split' /' join' może być prostszy, ponieważ możesz używać ciągów wyszukiwania bez konieczności martw się o regex-escaping. Wydajność porównawcza jest różna w różnych przeglądarkach. – bobince
Dzięki! Czy możesz dać mi wskazówkę do samouczka "budowa skrótu"? –