`

IE中<table>标签不支持appendChild()方法

    博客分类:
  • JS
IE 
阅读更多
<html>
  <head>
    <title>JS测试</title>
    <script type="text/javascript">
      var num = 2;
      function addRow(){
        var tr = document.createElement("tr");
        var td = document.createElement("td");
        var te = document.createTextNode('row '+num++);
        td.appendChild(te);
        tr.appendChild(td);
        var table = document.getElementById("table");
        if(tbody.rows.length == 6){
          alert('不能加了!');
        }else{
          table.appendChild(tr);
        }
      }
    </script>
  </head>
  <body">
    <table id="table">
      <tr id="n">
        <th>行数</th>
      </tr>
      <tr>
        <td>row 1</td>
      </tr>
    </table>
    <input type="button" value="Button" onclick="addRow();">
  </body>
</html>

上面JS代码不能向<table>中添加行,因为IE中<table>标签不支持appendChild()方法.
解决办法:在<table>标签中加入<tbody>标签,使用tbody元素加入新行.
<html>
  <head>
    <title>JS测试</title>
    <script type="text/javascript">
      var num = 2;
      function addRow(){
        var tr = document.createElement("tr");
        var td = document.createElement("td");
        var te = document.createTextNode('row '+num++);
        td.appendChild(te);
        tr.appendChild(td);
        var tbody= document.getElementById("tbody");
        if(tbody.rows.length == 6){
          alert('不能加了!');
        }else{
          tbody.appendChild(tr);
        }
      }
    </script>
  </head>
  <body">
    <table>
      <tbody id="tbody">
        <tr id="n">
          <th>行数</th>
        </tr>
        <tr>
          <td>row 1</td>
        </tr>
      </tbody>
    </table>
    <input type="button" value="Button" onclick="addRow();">
  </body>
</html>

分享到:
评论

相关推荐

    jquery appen table 问题 ie8下解决方法

    - 动态创建表格结构:使用`document.createElement()`函数创建`&lt;tr&gt;`、`&lt;td&gt;`等元素,并通过`.appendChild()`方法将它们添加到正确的父元素中。 - 使用jQuery的`$(element).html()`:在IE8中,有时直接用字符串...

    开发跨浏览器JavaScript时要注意的问题

    在IE浏览器中,可以直接使用`&lt;input type="radio"&gt;`标签。 ```javascript if (document.uniqueID) { // Internet Explorer var radioButton = document.createElement('&lt;input type="radio" name="radioButton" ...

    IE6-IE9中tbody的innerHTML不能赋值的解决方法

    在IE6到IE9这四个版本的Internet Explorer浏览器中,存在一个与DOM操作相关的兼容性问题,即不能直接通过`innerHTML`属性来设置`&lt;tbody&gt;`元素的内容。这个问题主要是由于这些旧版本的IE浏览器对HTML标准的支持不完整...

    【JavaScript源代码】纯JS将table表格导出到excel的方法.docx

    &lt;button type="button" onclick="getXlsFromTbl('tableExcel','myDiv')"&gt;IE导出Excel方法&lt;/button&gt; &lt;button type="button" onclick="method5('tableExcel')"&gt;Chrome导出Excel&lt;/button&gt; &lt;/div&gt; &lt;div id="myDiv"&gt; ...

    一点学习ajax的笔记

    - 解决方案:在`&lt;table&gt;`元素下添加`&lt;tbody&gt;`元素,然后将`&lt;tr&gt;`元素添加到`&lt;tbody&gt;`中。 4. **IE浏览器中的事件绑定问题**: - 解决方案:使用匿名函数绑定事件,例如`addButton.onclick = function() { ...

    Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法

    3. **特定容器限制**:`&lt;tbody&gt;`、`&lt;table&gt;`、`&lt;tr&gt;`等标签在innerHTML操作时,对于它们内部的内容也有严格的限制。直接修改这些元素的innerHTML,特别是插入非标准或不完整的HTML结构,可能引发错误。 解决这个...

    JS版表格排序实现点击表头即可排序

    首先,我们需要理解HTML表格的基本结构,包括`&lt;table&gt;`, `&lt;thead&gt;`, `&lt;tbody&gt;`, `&lt;tr&gt;`, `&lt;th&gt;`和`&lt;td&gt;`等标签。`&lt;th&gt;`标签用于创建表头,是我们实现点击排序的关键元素。 在JavaScript中,我们可以监听`&lt;th&gt;`元素...

    html页面表格导出excel(原生js浏览器全兼容)

    HTML表格由`&lt;table&gt;`元素开始,通过`&lt;tr&gt;`定义行,`&lt;td&gt;`定义单元格。导出功能主要涉及获取表格数据、构建CSV格式字符串,以及触发浏览器下载。 1. **获取HTML表格数据** 使用JavaScript的DOM操作可以轻松获取HTML...

    Prototype.js学习从简单开始

    // 获取所有&lt;a&gt;标签 ``` #### DOM操作示例 Prototype.js提供了多种方法来操作DOM,如添加、修改或删除元素: - **添加元素**: ```javascript var newElement = new Element('div', {id: 'newDiv'}); $('...

    JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐) .zip

    var xmlString = "&lt;root&gt;&lt;item&gt;数据&lt;/item&gt;&lt;/root&gt;"; var xmlDoc = parser.parseFromString(xmlString, "text/xml"); ``` 3. **处理解析结果**:解析后的XML文档将是一个`Document`对象,你可以通过遍历其节点来...

    纯原生js实现table表格的增删

    作者指出,在IE浏览器中,`class`属性应该使用`className`来设置,因为`setAttribute("class", value)`在IE中不被支持。这是一个常见的兼容性问题,作者通过条件判断来解决这个问题,对于非IE浏览器使用`...

    js使用小技巧

    &lt;a href="javascript:function()"&gt;word&lt;/a&gt; 上一网页源 asp: request.servervariables("HTTP_REFERER") javascript: document.referrer 释放内存 CollectGarbage(); 禁止右键 document.oncontextmenu = ...

    javascript经典特效---会动的表格.rar

    对于表格,我们可以通过`document.getElementById`、`document.querySelector`或`document.querySelectorAll`等方法获取特定的表格元素,如`&lt;table&gt;`、`&lt;tr&gt;`、`&lt;td&gt;`等。 三、表格元素操作 在JavaScript中,我们...

    javascript动态操作表格

    在HTML中,表格由`&lt;table&gt;`、`&lt;tr&gt;`(行)、`&lt;td&gt;`(单元格)等标签组成。使用JavaScript,我们可以动态创建这些元素并插入到文档中。例如: ```javascript // 创建一个新的表格 var table = document....

    javascript inneHTML的地雷

    回顾一下,IE会把标签内前面的一些空白kill掉,还会把它里面标签统统大写,会显示动态添加的属性,在某些元素中,它还是只读的。这个由IE发明的东西,最后被爆如此多缺陷,真是令人心寒。不过innerHTML还有一地雷,...

    有你用的js代码

    本文将详细介绍如何利用JS来获取、增加或删除DOM节点,以及如何对HTML中的`&lt;table&gt;`标签进行操作。此外,还将探讨如何通过JS来处理XML数据,包括加载XML文件及解析其内容。 #### DOM操作基础 DOM是一种用于表示和...

    用js+xml自动生成表格的东西

    此外,`&lt;link&gt;`标签用于引入外部CSS样式表,这样可以对生成的表格进行美化和布局调整。在示例中,引用了一个名为`style.css`的CSS文件,但具体样式并未给出,这通常会定义表格的样式,如字体、颜色、背景等。 总结...

    用Html+Js实现的“自动补全”功能.docx

    在示例中,选择了一个`&lt;div&gt;`包裹输入框和列表,并使用`&lt;input&gt;`作为输入框,而列表部分使用`&lt;div&gt;`内嵌`&lt;table&gt;`来实现。HTML代码如下: ```html &lt;div id="bodyDiv" name="bodyDiv" style="position: relative; ...

    出现问题a is defined高手帮忙

    &lt;title&gt;便民设施系统&lt;/title&gt; &lt;meta http-equiv="content-type" content="text/html; charset=gbk"/&gt; &lt;link rel="stylesheet" type="text/css" href="style.css"&gt;&lt;/link&gt; &lt;script src=...

Global site tag (gtag.js) - Google Analytics