• 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;
                        }
                    }
                }
        }
  • 相关阅读:
    ANC耳机中的数字反馈稳定性控制(Active Noise Cancellation in Headphones by Digital Robust Feedback Control)
    【控制理论】水床效应(waterbed effect)与Bode灵敏度积分
    ANC的基本概念 主通路和次级通路
    ANC耳机中通透模式设计方案
    matlab编程规则总结
    滤波器系数、单位脉冲响应、频率响应等概念笔记
    shell 脚本艺术
    vue leader-line-vue
    vue npm rum命令
    VUEX
  • 原文地址:https://www.cnblogs.com/liusijia/p/5241445.html
Copyright © 2020-2023  润新知