相关疑难解决方法(0)

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

我正在玩一些使用原始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>
Run Code Online (Sandbox Code Playgroud)

但是,当我在FireFox + Firebug,IE8开发人员工具栏或Google Chrome JavaScript调试器中查看代码时......所有这些代码都显示了围绕所有tr节点的tbody元素.

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

html xhtml

57
推荐指数
2
解决办法
2万
查看次数

为什么浏览器仍然在HTML5中注入<tbody>?

HTML5 doctype示例.

IE9和Chrome14都记录TBODYtagName内部元素<table>

HTML5规范<table>清楚地说明:

后跟零个或多个tbody元素或一个或多个tr元素

此外.HTML5规范<tr>清楚地说明:

作为表元素的子元素,在任何标题,colgroup和thead元素之后,但仅当没有tbody元素是table元素的子元素时.

为什么浏览器会破坏我的DOM并注入<tbody>时间

  • 我没有要求一个
  • 没有一个它是完全有效的

"向后兼容性"的答案绝对没有意义,因为我特意选择了HTML5文档类型.

html html5

33
推荐指数
4
解决办法
4789
查看次数

为什么我的XPath查询(抓取HTML表)仅适用于Firebug,而不适用于我正在开发的应用程序?

这是为了向所有相似的(但是太具体的问题,成为一个近距离目标候选人)提供规范的问答,每周弹出一到两次.

我正在开发一个应用程序,需要解析一个包含表格的网站.由于派生用于抓取网页的XPath表达式是无聊且容易出错的工作,我想使用FirebugXPath提取器功能(或其他浏览器中的类似工具).

示例输入如下所示:

<!-- snip -->
<table id="example">
  <tr>
    <th>Example Cell</th>
    <th>Another one</th>
  </tr>
  <tr>
    <td>foobar</td>
    <td>42</td>
  </tr>
</table>
<!-- snip -->
Run Code Online (Sandbox Code Playgroud)

我想提取第一个数据单元格("foobar").Firebug提出了XPath表达式

//table[@id="example"]/tbody/tr[2]/td[1]
Run Code Online (Sandbox Code Playgroud)

适用于任何XPath测试器插件,但不适用于我自己的应用程序(未找到结果).如果我将查询减少到//table[@id],它会再次起作用.

出了什么问题?

html firebug xpath dom google-chrome-devtools

20
推荐指数
1
解决办法
1万
查看次数

innerHTML不能在IE7上的表行元素上工作?

请查看此示例:http://jsfiddle.net/lulu2792/a9LZd/

我使用innerHTML设置表格行内容(包括单元格内容),我在Firefox和Chrome上运行良好.但是,它在IE7上有一个错误(也在IE9兼容模式下).表HTML结果是:

<TABLE id=table1>
 <TBODY>
  <TR>
   <TD>
    Test
   </TD>
  </TR>
  <TR>
   ABC
   </TD>
  </TR>
 </TBODY>
</TABLE>
Run Code Online (Sandbox Code Playgroud)

请关注第二行,它有一个错误.我不明白为什么innerHTML会在IE7上导致这个错误.如何纠正这个问题?

我也有一个问题:如果我不在像这样的表元素中使用tbody标记:

var html = "<table id='table1'><tr><td>Test</td></tr></table>";
Run Code Online (Sandbox Code Playgroud)

浏览器仍然呈现此标记.

请帮我回答上面两个问题.

javascript html-table

2
推荐指数
1
解决办法
2万
查看次数