我曾经认为所有最新的浏览器都已经支持XPath 2了。当我使用版本2中引入的lower-case()
和upper-case()
函数时,Chrome会抛出语法错误。然而,它们的旧版本替代方案translate()
却可以正常工作。
这是一个bug还是最新版的Chrome实际上使用的是XPath 1?有没有命令/方法来查找XPath版本?
// Finds the element as expected.
$x('//h2/text()[. = "Delete"]')
// Doesn't find the element (also expected).
$x('//h2/text()[. = "delete"]')
// SyntaxError: Failed to execute 'evaluate' on 'Document': The string '//h2/text()[lower-case(.) = "delete"]' is not a valid XPath expression.
$x('//h2/text()[lower-case(.) = "delete"]')