2017-06-17 67 views
1

我想將圖像的src屬性設置爲我也在JS中生成的URL。該URL包含幾個與「&」鏈接的參數,但是當獲取該元素的外部HTML作爲字符串值時,所有「&」都被替換爲「& amp」,從而導致URL無用,爲什麼會發生這種情況?替換所有occurencies解決?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