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

Javascript 当我在DOM中尝试两个未定义HTML和Xpath结果的get元素时,javascript,html,dom,xpath,Javascript,Html,Dom,Xpath,我在练习Xpath,但无法获取元素。我的代码很简单: //获得第一个div var headers=document.evaluate('//h2',document,null,XPathResult.ANY_TYPE,null); var res=headers.iterateNext() while(res){ 控制台日志(res); var res=headers.iterateNext() } 控制台日志(标题); 你好 乔 此返回未定义。我尝试了所有可能的xpathExpres

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


//获得第一个div
var headers=document.evaluate('//h2',document,null,XPathResult.ANY_TYPE,null);
var res=headers.iterateNext()
while(res){
控制台日志(res);
var res=headers.iterateNext()
}
控制台日志(标题);
你好
乔

此返回未定义。我尝试了所有可能的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>

函数GetElements(){
var headers=document.evaluate('//h2',document,null,XPathResult.ANY_TYPE,null);
var res=headers.iterateNext()
while(res){
控制台日志(res);
var res=headers.iterateNext()
}
}
一个
两个

再见@

似乎我必须等到dom文档完全加载之后。刚刚尝试了这个示例,它的效果很好:函数GetElements(){var headings=document.evaluate('//h2',document,null,XPathResult.ANY_TYPE,null);var res=headings.iterateNext()而(res){console.log(res);var res=headings.iterateNext()}}一二再见!
<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>