从字符串构造DOM树而不加载资源(特别是图像)

gfx*_*onk 7 javascript jquery image download

所以我通过AJAX抓取RSS提要.在处理它们之后,我有一个html字符串,我想使用各种jQuery功能来操作它.为了做到这一点,我需要一个DOM节点树.

我可以将HTML字符串解析为jQuery()函数.
我可以将它作为innerHTML添加到某个隐藏节点并使用它.
我甚至尝试过使用mozilla的非标准range.createContextualFragment().

所有这些解决方案的问题在于,当我的HTML代码段有<img>标记时,firefox会尽职地提取所引用的任何图像.由于此处理是未向用户显示的后台内容,因此我想在没有浏览器加载其中包含的所有图像的情况下获取DOM树.

用javascript可以实现吗?我不介意它是否只是mozilla,因为我已经使用了javascript 1.7功能(现在似乎只是mozilla)

arg*_*yle 3

答案是这样的:

var parser = new DOMParser();
var htmlDoc = parser.parseFromString(htmlString, "text/html");
var jdoc = $(htmlDoc);
console.log(jdoc.find('img'));
Run Code Online (Sandbox Code Playgroud)

如果您注意 Web 请求,您会发现即使 html 字符串由 jquery 解析和包装,也不会发出任何请求。