JavaScript 外部 HTML 编码 URL 字符串

标签 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="/test?param1=1&amp;param2=2">

从该对象获取 src 属性会显示原始字符串,因此我相信在访问 externalHTML 时该值已被编码。

最佳答案

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

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

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>

关于JavaScript 外部 HTML 编码 URL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44606250/

相关文章:

django - 如何在 Django(无需请求)中获取 URL(带有协议(protocol)和域)?

javascript - 反腐败层从 Angular 元素指令传递属性指令

javascript - HTML/CSS/JS 使用路径名重定向到主页

javascript - 使用 jQuery 显示/隐藏

javascript - Jquery 验证以匹配电子邮件字段

rest - URL 末尾 ID 的优缺点

javascript - 从 Angular 对象的数据数组填充 View

javascript - 如何创建类似标记的 Google Latitude?

jquery - 为什么我的图标在图像上的 "src"属性之后没有改变?

url - 来自 Google 网站站长工具的重复页面