doc.evaluate的替代品

时间:2012-05-16 08:54:55

标签: javascript firefox xpath

是否有更短的表达式通过XPath获取DOM节点,从以下命令更简洁,需要大量变量。

doc.evaluate(xpath, doc, nsResolver, XPathResult.ANY_TYPE, null);  

1 个答案:

答案 0 :(得分:1)

据我所知,Firefox仅支持DOM Level 3 XPath API,其中一部分是evaluate函数。如果你想要更短的东西,那么你需要自己滚动(或者找一个为你做这个的库),或者你需要使用不同的浏览器,例如你可以用Opera做的事情。 node.selectSingleNode(path [,nsResolver])选择单个节点,node.selectNodes(path [, nsResolver])可以选择节点的DOM NodeList。在您使用IE的MSXML XML DOM实现中,您还具有selectSingleNodeselectNodes函数,尽管命名空间处理与Opera实现不同,因为MSXML需要使用document.setProperty('SelectionNamespaces', 'xmlns:pf1="http://example.com/ns1" xmlns:pf2="http://example.com/ns2"')