前端知识学习

document.evaluate() 就是通过 xpath 获取 dom 节点。
返回的结果通过 .iterateNext() 可以获得 dom 对象,每次调用会少一个,当没有时就返回空。

返回匹配到的第一个 xpath 对应的 dom 节点

function x(xpath) {
  var result = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null);
  return result.iterateNext()
}

返回匹配到 xpath 的 dom 节点个数

function x(xpath) {
  var result = document.evaluate(xpath, document, null, XPathResult.ANY_TYPE, null);
  var i = 0;
  while(result.iterateNext()){
    i++;
  }
  return i;
}