当前位置: 首页 > 面试题库 >

为什么浏览器将tbody元素插入表元素?

戚同
2023-03-14
问题内容

我正在使用原始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调试器中查看代码时,所有这些都表明在所有 tr* 节点周围都存在一个 tbody 元素。 *

我不反对这种情况……但这是标准行为吗?


问题答案:

TBODY元素定义表中的一组数据行。TABLE必须具有一个或多个TBODY元素,这些元素必须位于可选的TFOOT之后。TBODY结束标签始终是可选的。当表仅包含一个TBODY而没有THEAD或TFOOT时,开始标签是可选的。

因此,那里总是有一个提示音(尽管有时开始标记和结束标记都是可选的并且被省略了),并且您使用的工具向您展示时是正确的。

另一方面,除非显式地包含thead或tfoot,否则它们永远都不会出现,并且如果这样做,则tbody也必须是显性的。



 类似资料:
  • 问题内容: window.onload = function(){ 这是我的代码,当我单击“文本”时,它将向您提示两次,但是当我单击该框时,该元素将仅触发一次,为什么? 问题答案: 当您单击标签时,它会触发单击处理程序,并且您会收到警报。 但是单击标签还会自动将click事件发送到关联的输入元素,因此将其视为对复选框的单击。然后事件冒泡会导致在包含元素(即标签)上触发click事件,因此您的处理程

  • 问题内容: 在哪里可以找到浏览器的HTML元素默认CSS? 许多HTML元素都带有一些默认的CSS属性,这些属性有时会导致未知/有害的行为。例如,输入框在不同浏览器中的显示方式有所不同。我正在寻找一个涵盖新CSS3属性和新HTML5元素的地方。 我在其他(较旧的)问题(例如浏览器的默认CSS样式表中看到了答案,这些问题提出了CSS重置的解决方案。有时不需要这种解决方案,通常我实际上想保留一些基本属

  • 问题内容: 谁能解释为什么在Python中将单个元素元组解释为该元素? 和 他们为什么不只是将元组打印为? 请参阅以下示例: 问题答案: 单个元素元组永远不会被视为包含的元素。括号对分组最有用,而不是对元组的创建。逗号会这样做。 他们为什么不只将(1,)打印为(1)? 可能是因为打印内置容器类型提供了一种表示形式,可用于通过表示重新创建容器对象,例如: 的docs在此方面提供了一些清晰度: 如果可

  • dom中有两个 ,我想使用JavaScript/jQuery将这两个 包装到一个包装器div中。 有没有办法这样做? 原来的节点是这样的: 我想在那些周围添加包装器div,它应该如下所示: 上面的插入应该仅来自javascript或jquery。 先谢谢你。

  • 可变列表可以在运行时动态增长。 List.add()函数将指定的值附加到List的末尾并返回修改后的List对象。 下面说明了相同的内容。 void main() { List l = [1,2,3]; l.add(12); print(l); } 它将产生以下output - [1, 2, 3, 12] List.addAll()函数接受以逗号分隔的多个值,并将这些

  • 问题内容: HTML5 doctype示例。 无论IE9和Chrome14日志作为内部元素 HTML5规范明确指出: 后跟零个或多个tbody元素或一个或多个tr元素 此外。HTML5规范明确指出: 作为table元素的子元素,在任何标题,colgroup和thead元素之后,但仅当没有tbody元素成为table元素的子元素时。 为什么浏览器会破坏我的DOM并注入一个when 我没有要一个 没有