我正在访问一个api,该api返回格式化为HTML的结果。这真的很不可靠,因为我只想要数据。剩下的任务是将结果HTML转换/解析为普通数据。
我的代码是这样的:
var htmlData = $('<div>').html(apidata);
var personData = htmlData.find('table.result tr');
虽然这样做有效,最终得到了我需要的数据,但是jquery/browser在我的div中包装这个apidata
(我假设它正在创建dom元素,浏览器处理其余的数据)之后,它将帮助解析这个,结果产生了很多404。一旦数据被包装在<div>
中,加载就开始了。
我能做些什么来阻止对链接的解析。我只需要加载dom结构,这样我就可以使用jquery/sizzle引擎来获取数据。我不需要解析/加载嵌入在apidata
中的引用资源。
编辑:我试图避免使用regex等来解析。使用jquery的整个想法是简单而有力地解析html。
发布于 2015-02-09 09:56:18
因此,我最终得到了一个解决方案,它允许我使用jquery的dom解析,但首先使用regex过滤输入/数据。这样,我就保留了jquery的功能,只需要简单的正则表达式就可以过滤掉数据。
我发现只有图像源被加载,而没有在锚标记上加载href --这很有意义--所以我最终替换了以下的像素数据:
var dom = $('<div>').html(htmlData.replace(/<img[^>]+\>/ig, ""));
而且,我仍然可以像往常一样查询dom,而不需要所有404。
https://stackoverflow.com/questions/28319629
复制相似问题