• js动态增加html页面元素


    问题:

     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
        <script type="text/javascript">
            function AddOrDelModel(modelId){
                   if(document.getElementById(modelId).checked){
                         var insertText = "<table><tr><td>"+modelId+"被选中</td></tr></table>"; 
    
                 document.getElementById("insert").innerHTML = document.getElementById("insert").innerHTML+insertText;   
    
               }else
    
                    {
                         document.getElementById("insert").innerHTML = document.getElementById("insert").innerHTML.replace("<table><tbody><tr><td>"+modelId+"被选中</td></tr></tbody></table>","");   
                 }    
              }
      </script>
    </head>
    <body>
            <input id="Checkbox1" type="checkbox" onclick="AddOrDelModel('Checkbox1')" value="checkbox1" name="CheckBox1" />
            <input id="Checkbox2" type="checkbox" onclick="AddOrDelModel('Checkbox2')" value="checkbox2" name="CheckBox2" />
    
        <div id="insert"></div>
    </body>

    要实现的功能选中checkbox1、checkbox2界面分别显示添加checkbox1、checkbox2被选中,取消选择则分别移除添加的内容.
    使用firefox调试显示在添加table的时候会自动多添加<tbody>标签
    现在在firefox和chrome运行没有问题,但是其他的浏览器(ie、搜狗等浏览器)就不行了。

    回答:

    function AddOrDelModel(modelId){
            var insertText = '<table tag=' + modelId + '><tr><td>' + modelId + '被选中</td></tr></table>', insertEl = document.getElementById("insert");
            if(document.getElementById(modelId).checked){
                    insertEl.innerHTML = insertEl.innerHTML + insertText;
                    }else{
                            var tables = insertEl.getElementsByTagName("table");
    
                for(var i = 0; i < tables.length; i++){
                    if(tables[i].tag = modelId){
                        insertEl.removeChild(tables[i]);
                            break;
                        }
                    }
                }
        }
  • 相关阅读:
    Unix进程和线程管理及其异同
    UnixIPC之共享内存
    Unix/Linux常用文件操作
    java中int和Integer比较
    JAVA四种引用类型
    JAVA-Exception&Error
    JAVA特性-跨平台/面向对象
    JAVA单向链表实现
    linux安装及配置c++的opencv库
    static_cast、const_cast、dynamic_cast、reinterpret_cast
  • 原文地址:https://www.cnblogs.com/liusijia/p/5241445.html
Copyright © 2020-2023  润新知