【发布时间】:2013-07-16 04:07:17
【问题描述】:
我使用jQuery Xpath 插件浏览HTML 文档的层次结构。我不使用选择器是因为我需要处理服务器端框架的信息,它告诉我特定元素的 Xpath。
现在我观察到 DOM 不一定代表 HTML 文档的层次结构,并在这里找到了解决此问题的方法:Why does firebug add <tbody> to <table>?。这意味着,如果我的 HTML 文档确实包含以下代码:
<table>
<tr>
<td>Hello</td>
</tr>
</table>
我的 DOM 将像这样表示后者:
<table>
<tbody>
<tr>
<td>Hello</td>
</tr>
</tbody>
</table>
我的 Xpath 查询
jQuery(document).xpath('//table[1]/tr[1]/td[1]')
因此不再产生结果。
有没有办法避免 DOM 表示的合成元素?还是一种调整 Xpath 使其包含合成元素的方法?感谢您的帮助。
【问题讨论】:
-
提供 XPath 的框架有问题,或者您的文档在服务器上被视为 XML/XHTML 与浏览器上的 HTML 不匹配。
-
嗯,框架在服务器端,对文档的源代码进行操作和分析。我尝试以在客户端使用这些路径位置的方式扩展框架。
标签: jquery html dom jquery-plugins xpath