2017-06-17 66 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