使用 jquery 进行简单解析 - 资源加载问题

Using jquery for simple parsing - problems with ressource loading

我正在访问一个 api,returns 结果格式为 HTML。这真的很奇怪,因为我想要的只是数据。我剩下的任务是 transforming/parsing 将结果 HTML 转换为纯数据。

所以我的代码是这样的:

var htmlData = $('<div>').html(apidata);
var personData = htmlData.find('table.result tr');

虽然这有效并且我最终得到了我需要的数据,但 jquery/browser 很乐意帮助解析这个 apidata 一旦我将它包装在我的 div 中(我认为它是创建一个 dom 元素,浏览器处理其余部分)导致大量 404。结果是,apidata 包含 href、src 等,它们都指向外部和内部数据(图像、资源、脚本等)。一旦数据被包裹在 <div> 中,加载就开始了。

我该怎么做才能停止解析链接。我只想加载 dom 结构,这样我就可以使用 jquery/sizzle 查询引擎来获取我的数据。我不需要 parsing/loading 嵌入在 apidata.

中的引用资源

编辑:我试图避免使用正则表达式等进行解析。使用 jquery 的整个想法是对 html.

的简单而强大的解析

所以我最终找到了一个解决方案,让我可以使用 jquery 的 dom 解析,但首先使用正则表达式过滤 input/data。这样我就保留了 jquery 的强大功能,只需要简单的正则表达式就可以过滤掉数据。

我发现只加载了图像源而不是锚标记上的 href - 这很有意义 - 所以我最终像这样替换了 apidata:

var dom = $('<div>').html(htmlData.replace(/<img[^>]+\>/ig, ""));

而且我仍然可以像往常一样查询 dom 而无需获取所有 404。