UPDATE:TimWollaがコメントしたように、ブラウザ固有の動作のようです - エスケープされていないバージョンをブラウザ間で確実に正規化する必要がありますか?jQuery .html()が自動的にhref属性をエスケープするのを防ぐには?
HTML:
<div id="test"><a href="#{one}">#{two}</a></div>
JS:#{two}
がいない間のhrefで#{one}
が、エスケープされ
$('#test').html()
=> <a href="#%7Bone%7D">#{two}</a>
は注意してください。
文字列全体がunescape
よりも良い方法はありますか?
unescape($('#test').html())
=> <a href="#{one}">#{two}</a>
ここでは例です:http://jsfiddle.net/kenn/n8veL/
ブラウザ固有の問題のようです。 Googles v8 Engineではうまく動作します。 – TimWolla
そのアンカーはテンプレートのようです。なぜテンプレートをDOMに解析していますか?テンプレートはソースコード(たとえばSCRIPT要素内)に保存し、JavaScriptで処理します(ブラウザでのみ解析*する*)。 –
ティムウォーラ:ねえ!質問を更新しました... – kenn