tangyi606 2020-12-23 11:36 采纳率: 60%
浏览 30

小白求指导:如何对ajax返回的页面使用xpath,感谢!

对当前页面使用xpath没有问题:

document.evaluate('//div[@class="question-item is_show_ans"]/text()[2]', document, null, XPathResult.ANY_TYPE, null);

对ajax返回的内容转化为dom对象给jquery使用也没有问题:

success: function(res){
                       var dom=$.parseHTML(res);
                       var pageCount= $(dom).find("span.book-page-count").text();
                       ……
              }

现在使用ajax请求了这个页面,在回调函数里对返回的内容使用xpath报错:domcl.evaluate is not a function

var domcl=$.parseHTML(res)
var resultcl = domcl.evaluate('//div[@class="question-item is_show_ans"]/text()[2]', document, null, XPathResult.ANY_TYPE, null);

我用console.dir对比了一下domcl和原生的document,确实domcl丢失了evaluate这个方法。

那请教一下,纯前端我怎么样才能在ajax返回的内容基础上使用xpath呢,感谢!

  • 写回答

2条回答 默认 最新

  • 爱分享的Martin、 2020-12-23 12:55
    关注

    是不是调用的方式写错了?被查询的节点要放在里面

    document.evaluate('//div[@class="question-item is_show_ans"]/text()[2]', domcl, null, XPathResult.ANY_TYPE, null);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置