2016-05-06 5 views
5

私の例ではtinymceToHTMLと呼ばれるHTML文字列があり、このhtml文字列をダウンロードするとイメージソースまたはhrefが正しく設定されていないという問題がありました。Domオブジェクトの変数を自分自身に割り当てるのはなぜですか

元の文字列の画像ソースが "/ file /:id"のように見えますが、DOMオブジェクトに変換してソースを出力すると "http://localhost:3000/file:id"のように見えます。このファイルを読み込むことができます。だから私はこの解決策を思いついた。画像[i]を.SRC =画像[i]が.SRCか:私の問題は、私はなぜ自分自身に変数を割り当てるかわからないということです

はそのシナリオの違いを作る

 var div = document.createElement('div'); 
 
     div.innerHTML = tinymceToHTML; 
 
     var images = div.getElementsByTagName('img'); 
 
     for(var i = 0; i < images.length; i++) { 
 
      images[i].src = images[i].src; 
 
     } 
 
     var a = div.getElementsByTagName('a'); 
 
     for(var i = 0; i < a.length; i++) { 
 
      a[i].href = a[i].href; 
 
     } 
 
     tinymceToHTML = "<html><head></head><body>" + div.innerHTML + 
 
         "</body></html>";
[i] .href = a [i] .href。

アラームボックスを使ってプログラムに出力を表示させると、私が望むURLがわかりますが、その割り当てがなければ、プログラムは必要な処理をしません。

この行が必要であることをより明確にするためにコードを変更するために、誰かがその旨を説明できることを願っています。

私も画像の完全なURLは、他の結果を見るために

https://jsfiddle.net/1vabgubh/5/

答えて

3

、私が何を意味するかを示して割り当ての行をコメントアウトすることが容易になりますフィドルの例を作成しましたimageElement.srcが返すものだけです。 MDNから:

HTMLImageElement.srcベースURIを含む画像の完全なURLを含むHTMLのsrc属性 を反映するDOMStringです。

最終的な文字列にそのようにする必要がある場合は、images[i].src = images[i].srcは妥当で簡潔な方法です。私はちょうど

images[i].src = images[i].src; // force the src to be the full URI 
+0

のようなものはそれを削除するか何かだろう、プログラムを維持する誰かがあるでしょう場合、私はナンセンスや他の開発者をやって避けたかったはい、ありがとうございました、理解を助けるためにコメントを追加しますそのような:)。 私があなたにソースコードとして与えたコメントを使用します。 – FroZenViper

関連する問題