UPDATE: Sembra un comportamento specifico del browser come ha commentato TimWolla: come dovrei normalizzarmi alla versione senza caratteri di escape, in modo affidabile in modalità cross-browser?Come evitare jQuery .html() dall'esclusione automatica dell'attributo href?
HTML:
<div id="test"><a href="#{one}">#{two}</a></div>
JS:
$('#test').html()
=> <a href="#%7Bone%7D">#{two}</a>
Avviso il #{one}
nella href è sfuggito, mentre #{two}
non è.
C'è un modo migliore rispetto al solo unescape
dell'intera stringa?
unescape($('#test').html())
=> <a href="#{one}">#{two}</a>
Ecco l'esempio: http://jsfiddle.net/kenn/n8veL/
Sembra che si tratti di un problema specifico del browser. In Googles v8 Engine funziona perfettamente. – TimWolla
Quell'ancora sembra essere un modello. Perché stai analizzando un modello per il DOM? I modelli devono essere conservati nel codice sorgente (ad esempio all'interno di un elemento SCRIPT) ed elaborati con JavaScript (e solo * quindi * analizzati dal browser). –
TimWolla: dannazione! ha aggiornato la domanda ... – kenn