var nodes=document.selectNodes("//a[@href]"); for (i=0;i // 对 nodes[i] 执行操做; }
// 这里要注意,IE对于元素的默认索引序列是从0开始的,不符号W3C标准
// 添加下面这行代码,让其符合W3C标准node
document.setProperty("SelectionLanguage","XPath"); //设置语言选择 nodes=document.selectNodes("//div[1]");
而其余浏览器的查询函数,调用就稍微复杂一点,都是采用 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();