【发布时间】:2010-10-30 14:23:51
【问题描述】:
我正在使用原始 html 和 JQuery 玩一些想法。我做的一件事是创建一个包含一组行的表格元素。
<table id="MyTable" >
<tr>
<td>Title</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
</table>
但当我在 FireFox+Firebug、IE8 开发者工具栏或 Google Chrome JavaScript 调试器中查看代码时……所有这些都显示有一个 tbody 元素围绕着所有 >tr 个节点。
我不反对这种情况……但这是标准行为吗?
【问题讨论】:
-
有趣的是,如果您使用 JavaScript 爬过 dom,如果他们不知道的话,额外的 tbody 可能会绊倒一个毫无戒心的人。这意味着表格单元格中的内容嵌套了一个额外的元素!
-
这在开发爬虫时尤其烦人。有没有办法关掉它?还是查看发送到浏览器的原始代码的扩展程序?
-
当您尝试通过子选择器应用 CSS 样式时尤其烦人:
table > tr > td。您必须使用后代选择器:table tr > td,或者如果您真的想要严格,请同时满足两种情况:table > tr > td, table > tbody > tr > td