我有一个HTML字符串,在我的例子中名为tinymceToHTML,我遇到的问题是,当我下载这个html字符串时,图像源或hrefs设置错误.
我的图像源在原始String中看起来像“/ file /:id”,如果我将其转换为DOM对象并输出源看起来像“http://localhost:3000/file:id”这是所需的输出,因为那时外部文档可以加载此文件.所以我提出了这个解决方案.
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 = "
我的问题是,我不知道为什么将变量赋给自身在这种情况下有所不同:images [i] .src = images [i] .src或a [i] .href = a [i] .href.
如果我让程序向我显示带有警报框的输出,它会告诉我我想要的URL,但如果没有这个分配,程序就不会做它应该做的事情.
我希望任何人都可以向我解释这种效果,以便更改代码,以便更清楚地说明这一行是必需的.
我还创建了一个小提琴示例,可以更容易地显示我的意思,注释掉分配的行,以查看其他结果
HTMLImageElement.src Is a DOMString that reflects the src HTML
attribute,containing the full URL of the image including base URI.
如果你需要它们在你的最终字符串中出现,那么images [i] .src = images [i] .src似乎是一种合理而简洁的方式.我只想添加评论以帮助理解,例如
images[i].src = images[i].src; // force the src to be the full URI
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。