zoukankan      html  css  js  c++  java
  • 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;
                        }
                    }
                }
        }
  • 相关阅读:
    1001. 害死人不偿命的(3n+1)猜想 (15)
    单链表排序
    简单插入排序
    简单选择排序
    C语言-随机数
    二分查找(折半查找)
    顺序查找-顺序查找-带哨兵查找
    队列-链表实现
    循环队列_数组实现
    队列-顺序存储-简单实现
  • 原文地址:https://www.cnblogs.com/liusijia/p/5241445.html
Copyright © 2011-2022 走看看