我在客户端使用XPaths服务器端,我很困惑为什么只表路径(即td
中的内容)无法找到在DOM中。
事实证明,现代浏览器(至少Chrome和Firefox)在文档加载时在表行周围插入tbody
标记。见Why do browsers insert tbody element into table elements?
除了tbody
之外,在计算服务器端的XPath时我还应该注意其他DOM元素吗?
答案 0 :(得分:3)
在SGML / HTML4术语中,可以推断出一些其他元素,甚至可以推断head
和body
元素,HTML5继续这样做。所以像http://home.arcor.de/martin.honnen/html/test2012011901.html这样的文档是有效的HTML5,虽然它既没有head
也没有body
元素,任何HTML5解析器都应该添加它们,所以DOM树看起来像
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<h1>Test</h1>
<p>This is a test.</p>
</body>
</html>
我不能告诉你关于其他元素的所有细节,上面只是一个例子。在http://www.w3.org/TR/html5/syntax.html#optional-tags中查找详细信息。