2017-06-17 32 views
1

イメージのsrc属性をJSで生成するURLに設定しようとしています。 URLには「&」とチェーンされたいくつかのパラメータが含まれていますが、要素の外側のHTMLを文字列値として取得すると、「&」はすべて「& amp;」に置き換えられ、URLは無駄になります。それを修正するために、すべての発生回数を置き換える?JavaScript outerHTMLはURL文字列をエンコードします

var img = $("<img>"); 
img.attr("src","/test?param1=1&param2=2"); 
console.log(img[0].outerHTML); //printing <img src="/test?param1=1&amp;param2=2"> 

そのオブジェクトからのsrc属性はので、私はouterHTMLアクセスしたときに値が符号化されていると信じて、元の文字列を示し取得。

+0

outerHTMLのためのユースケースは何ですか? – charlietfl

+0

基本的には、HTMLコードを特別な使い方で生成するエディタですが、これを行うより良い方法はないと思います。 – user1563232

答えて

0

これは、IMGのログを記録するだけの結果であり、 outerHTMLを使用すると、その関数は出力前に文字列をシリアライズします。下の例では、要素をロギングしています。 eイメージソースが正しい。また、ページにイメージを出力する場合、正しいソースもあります。

出力をログに記録する以外にコードに間違いはありません。

var img = $("<img>"); 
 
img.attr("src","http://www.placecage.com/gif/284/196?param1=1&param2=2"); 
 
console.log(img[0]); 
 
$("div").append(img);
<div></div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

あなたが正しいです、私は問題を他のところで見つけました。私はtext()でテキストボックスのコンテンツを設定しているので、HTMLコードをコピーすることができるので、シリアライズされます。内容を変更せずにプレーンHTMLコードを表示する別の方法はありますか? – user1563232

関連する問題