1

如标题所述,这是我的基本 xhtml 页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>An XHTML 1.0 Strict standard template</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />

    <script type="text/javascript">
        var headings = document.evaluate('//h2', document, null, XPathResult.ANY_TYPE, null );
        var thisHeading = headings.iterateNext();  

        var alertText = 'Level 2 headings in this document are:\n'  

        while (thisHeading) {  
            alertText += thisHeading.textContent + '\n';  
            thisHeading = headings.iterateNext();  
        } 

        console.log(alertText);
    </script>

</head>

<body>

 <h2>… Your HTML content here …&lt;/h2>

</body>
</html>

输出是:

Level 2 headings in this document are:

4

2 回答 2

2

Web 浏览器从上到下处理 html。您的脚本在页面的其余部分存在之前运行。将其向下移动,或在窗口 onload 事件上执行代码。

于 2012-05-15T05:15:47.353 回答
1

第 1 个 XPath 错误:您的内容在命名空间中,但您在非命名空间中搜索它。您需要 //x:h2,前缀 x 绑定到 XHTML 命名空间。

于 2012-05-15T08:01:38.677 回答