• table中innerHTML


    <table id="aa">

      <tbody>

        <tr>

          <td>单元格一</td><td>单元格二</td>

        </tr>

         </tbody>

    </table>

    如果我想把aa表格中的<tr><td>单元格一</td><td>单元格二</td></tr>换成<tr><td>单元格三</td><td>单元格四</td></tr>

    第一个反应:document.getElementById('aa').tBodies[0].innerHTML = '<tr><td>单元格三</td><td>单元格四</td></tr>'

    一个很不幸的消息就是在IE中会报错“未知的运行错误”,查原因....

    原因:在IE中,表格的innerHTML是只读的,不能写

    所以:var aa = document.getElementById('aa'),tbody = aa.tBodies[0],temp = document.createElement('div')
            temp.innerHTML  = "<table><tbody><tr><td>单元格三</td><td>单元格四</td></tr></tbody></table>";
            aa.replaceChild(temp.firstChild.tbodies[0], tbody);

    还有一点值得注意的是:aa.replaceChild(temp.firstChild.tbodies[0], tbody)这行中,表格的操作必须tbody元素,如果直接操作tr就会报错,例下面:

    var aa = document.getElementById('aa'),tr = aa.rows[0],temp = document.createElement('div')
            temp.innerHTML  = "<table><tbody><tr><td>单元格三</td><td> 单元格四</td></tr></tbody></table>";
            aa.replaceChild(temp.firstChild.rows[0], tr);

  • 相关阅读:
    error C2054: 在“inline”之后应输入“(”
    SendInput模拟键盘操作
    获取广电高清直播源
    Lua使用luasocket http请求例子
    枚举所有继承特定接口的类
    Stream Byte[] 转换
    async await
    C# ServiceStack.Redis 操作对象List
    resharper安装后,一不小心点错了(选择了object browser)
    fiddler 挂载 JS文件
  • 原文地址:https://www.cnblogs.com/xiaohui108/p/2136561.html
Copyright © 2020-2023  润新知