博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用XPath查找HTML节点或元素
阅读量:4982 次
发布时间:2019-06-12

本文共 850 字,大约阅读时间需要 2 分钟。

更新版以后会在我的新博客更新,请您移步

 

虽然JQ和JS都能很方便的查找包含了ID及类名的元素,但某些情况下,我们需要查找一些不包含类名、ID的元素或节点,就需要XPath来帮忙了。

XPath虽然是被设计用来搜寻XML文档的,不过它也能很好的在HTML文档中工作,并且大部分浏览器也支持通过XPath来查询节点。

XPath既然叫Path,就是以路径的形式来指定元素。关于XPath的语法,这里不多赘述,请自行查询相关资料。

 

XPath的查询函数,在IE中与其他浏览器(Chrome、Firefox、Opear等)是不一样的,所以如果你的网站需要兼容IE,需要注意。

Xpath在IE中的查询函数为 document.selectNodes(xpath),其返回的是一个集合,通过for循环就可以读取所有的元素。

var nodes=document.selectNodes("//a[@href]");for (i=0;i

 

而其他浏览器的查询函数,调用就稍微复杂一点,都是采用 document.evaluate 这个函数,返回的是一个枚举集合,需要使用 while 循环来枚举元素。

var result = document.evaluate("//a[@href]", document, null, XPathResult.ANY_TYPE, null);var nodes = result.iterateNext(); //枚举第一个元素while (nodes){    // 对 nodes 执行操作;    nodes=result.iterateNext(); //枚举下一个元素}// 如果只查找单个元素,可以简写成这样nodes=document.evaluate("//div[1]", document).iterateNext();

 

花了一晚学习的,留个标记,防止以后忘了

转载于:https://www.cnblogs.com/clso/p/4787854.html

你可能感兴趣的文章
centos下,安装MySQL以及配置远程连接等
查看>>
获取硬盘和CPU的序列号
查看>>
Python全栈开发 day2 - 数据类型详解
查看>>
葡萄城报表的数据可视化分析
查看>>
(转)面向对象的三大基石(封装,继承和复合,多态)
查看>>
jquery $.ajax $.get $.post的区别?
查看>>
python中运行pip出现Fatal error in launcher错误
查看>>
2017北京国庆刷题Day7 afternoon
查看>>
bzoj千题计划108:bzoj1018: [SHOI2008]堵塞的交通traffic
查看>>
C++集成设计环境——Code::Blocks安装过程
查看>>
Maven小记
查看>>
一定不要在头文件中using namespace XXX
查看>>
运行百度语音识别官方iOS demo报错: load offline engine failed: 4001
查看>>
THREE.OrbitControls参数控制
查看>>
iOS开发--XMPPFramework--好友列表(五)
查看>>
非对称加密与证书(上篇)
查看>>
面向对象基础
查看>>
poj 1061 青蛙的约会
查看>>
PAT_1008(中文)_数组元素循环右移问题
查看>>
数据库事物隔离级别通俗理解
查看>>