当我尝试两个 DOM 中的 get 元素时,HTML 和 Xpath 结果未定义

When I try two get elements in DOM with HTML and Xpath results undefined

本文关键字:元素 get HTML 未定义 结果 Xpath 中的 DOM 两个      更新时间:2023-09-26

我正在使用Xpath练习,但我无法获得元素。我的代码很简单:

<html>
<script>
//get first div
var headings = document.evaluate('//h2', document, null, XPathResult.ANY_TYPE, null );
var res = headings.iterateNext()
while(res){
console.log(res);
var res = headings.iterateNext()
}
console.log(headings);
</script>
<body>
    <div>HI!!!</div>
    <h2> JOE </h2>
</body>
</html>

此返回未定义。我尝试了所有可能的xpathExpression(在Firefox和chrome上测试)。有什么帮助吗?

谢谢!

看来我必须等到 dom 文档完全加载。刚刚尝试了这个例子,它工作正常:

<head>
    <script type="text/javascript">
        function GetElements () {
var headings = document.evaluate('//h2', document, null, XPathResult.ANY_TYPE, null );
var res = headings.iterateNext()
while(res){
console.log(res);
var res = headings.iterateNext()
}
        }
    </script>
</head>
<body onload="GetElements ()">
    <h2>ONE</h2>
    <h2>TWO</h2>
</body>

再见!@