JavaScript outerHTML编码URL字符串

JavaScript outerHTML编码URL字符串,javascript,jquery,url,url-encoding,url-parameters,Javascript,Jquery,Url,Url Encoding,Url Parameters,我试图将图像的src属性设置为我在JS中生成的URL。URL包含多个以“&”链接的参数,但是当获取元素的外部HTML作为字符串值时,所有“&”都被替换为“&”,这使得URL无效。为什么会发生这种情况?我必须替换所有出现的内容才能修复它吗 var img = $("<img>"); img.attr("src","/test?param1=1&param2=2"); console.log(img[0].outerHTML); //printing <img src="/

我试图将图像的src属性设置为我在JS中生成的URL。URL包含多个以“&”链接的参数,但是当获取元素的外部HTML作为字符串值时,所有“&”都被替换为“&”,这使得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">
var img=$(“

从该对象获取src属性会显示原始字符串,因此我相信在访问outerHTML时该值是经过编码的。

这只是使用outerHTML记录img的结果,因为该函数会在字符串输出之前序列化字符串。在下面的示例中,我只是记录元素,您将看到图像源I如果你在页面上输出图像,它也有正确的来源

因此,除了记录输出的方式之外,代码没有任何问题

var img=$(“


outerHTML的使用案例是什么?它基本上是一个编辑器,可以生成HTML代码以供特殊用途,我认为没有更好的方法可以做到这一点。好的,你是对的,我在别处发现了问题。它被序列化,因为我正在用text()设置文本框内容,这样就可以复制HTML代码。有没有其他方法可以在不更改内容的情况下显示纯HTML代码?