ОБНОВЛЕНИЕ : похоже на специфическое поведение браузера, как прокомментировал ТимВолла - как мне нормализовать работу с неэкранированной версией, надежно в кросс-браузерном режиме?
HTML:
<div id="test"><a href="#{one}">#{two}</a></div>
JS:
$('#test').html()
=> <a href="#%7Bone%7D">#{two}</a>
Обратите внимание, что #{one}
в href экранирован, а #{two}
нет.
Есть ли лучший способ, чем просто unescape
вся строка?
unescape($('#test').html())
=> <a href="#{one}">#{two}</a>
Вот пример: http://jsfiddle.net/kenn/n8veL/