是不是一定要引用xpath.js才能用?IE没能内置支持吗?
我下载了xpath.js,并引入页面,参照网上的说明做,但返回的元素个数总是为0,有什么办法可以方便和正确地使用xpath?
=========================================
<script>
<!--
window.onload=function()
{
var _div=xpath("//div");
alert(_div.snapshotLength);//这里总是返回0,更无法使用snapshotItem属性了。
}
function xpath(query) {
     return document.evaluate(query, document, null,
         XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
}
//-->
</script>
<body>
<div id="pp">
  <input type="text" id="userName">
</div>
<div>aaa</div>
<div>bbb</div>
</body>

解决方案 »

  1.   

    那怎么办?JQuery是怎么做到的?
      

  2.   

    jQuery里的Sizzle的根本没用到document.evaluate
      

  3.   

    所以我想知道JQuery里用的是什么方法,似乎也没用到第三方的东东难道是自己实现XPath解析?不过我已经用折衷的办法解决我的需求了,就是放弃XPath,用document.getElementsByTagName可以满足了。
      

  4.   

    jQuery仅支持基本的XPath表达式(没有用到document.evaluate,而是转换后交给了sizzle处理),jQuery主要用的是css语法查找
    http://hi.baidu.com/ymfhcn/blog/item/6fbc85351e203a1091ef39ba.html