首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有XPathResult.FIRST_ORDERED_NODE_TYPE的document.evaluate返回未定义

带有XPathResult.FIRST_ORDERED_NODE_TYPE的document.evaluate返回未定义
EN

Stack Overflow用户
提问于 2014-12-24 15:05:40
回答 1查看 981关注 0票数 0

Firebug将xpath结果打印为未定义,但不是未定义

代码语言:javascript
复制
function xpathTest()
{
 var div1 = document.getElementById("div1");
 var result = document.evaluate("//div[text()='Hello']", div1, null, 
                 XPathResult.FIRST_ORDERED_NODE_TYPE, null);
 console.log(result); // Firebug prints undefined
 console.log(result === undefined); // prints false
 console.log(typeof result); // prints object
 console.log(result.singleNodeValue); // prints Hello
}

Html在这里:

代码语言:javascript
复制
<body onload="xpathTest()">
 <div id="div1">
   <div>Hello</div>
 </div>
</body>

所以实际的toString()(?)xpath结果的实现不正确还是Firebug的错误?

EN

回答 1

Stack Overflow用户

发布于 2014-12-24 15:28:51

这似乎是一个Firebug问题。

代码语言:javascript
复制
var resultDiv = document.getElementById("resultDiv");  
add("Result: " + result); // Result: [object XPathResult]
add("(result === undefined): " + (result === undefined)); 
// (result === undefined): false

add("(typeof result): " + (typeof result)); 
// (typeof result): object

add("result.singleNodeValue: " + result.singleNodeValue); 
// result.singleNodeValue: [object HTMLDivElement]

function add(content)
{
  resultDiv.innerHTML += content + "<br>";
}

请参阅JS Fiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27632921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档