所以我通过 AJAX 抓取 RSS 提要。处理完它们后,我有一个 html 字符串,我想使用各种 jQuery 功能对其进行操作。为此,我需要一棵 DOM 节点树。
我可以将 HTML 字符串解析为 jQuery() 函数。
我可以将它作为 innerHTML 添加到某个隐藏节点并使用它。
我什至尝试过使用 mozilla 的非标准 range.createContextualFragment()。
所有这些解决方案的问题在于,当我的 HTML 代码段具有 <img>
时标记,firefox 尽职尽责地获取引用的任何图像。由于此处理是不向用户显示的后台内容,因此我只想得到一个 DOM 树, 浏览器不会加载其中包含的所有图像。
这可以用 javascript 实现吗?我不介意它是否仅限于 mozilla,因为我已经在使用 javascript 1.7 功能(目前似乎仅限于 mozilla)
最佳答案
答案是这样的:
var parser = new DOMParser();
var htmlDoc = parser.parseFromString(htmlString, "text/html");
var jdoc = $(htmlDoc);
console.log(jdoc.find('img'));
如果您注意您的 Web 请求,您会注意到即使 html 字符串由 jquery 解析和包装,也没有发出任何请求。
关于javascript - 在不加载资源(特别是图像)的情况下从字符串构建 DOM 树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2302129/