DOM操作应用高级表格应用

  • 获取

         tBodies、tHead、tFoot、rows、cells(tHead tFoot获取的不是数组而是一个元素,tBodies是一个数组)

<script>
        window.onload=function(){
            var oTab=document.getElementById('tab1');
            //alert(oTab.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerHTML);
            //表格的简便写法 cells取单元格
            alert(oTab.tBodies[0].rows[1].cells[1].innerHTML);
        }
</script>
</head>
<body>
<table id="tab1" border="1" width="500">
    <thead>
        <td>ID</td>
        <td>姓名</td>
        <td>年龄</td>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>Blue</td>
            <td>12</td>
        </tr>
        <tr>
            <td>2</td>
            <td>张三</td>
            <td>23</td>
        </tr>
        <tr>
            <td>3</td>
            <td>李四</td>
            <td>32</td>
        </tr>
        <tr>
            <td>4</td>
            <td>王五</td>
            <td>31</td>
        </tr>
        <tr>
            <td>5</td>
            <td>赵六</td>
            <td>55</td>
        </tr>

    </tbody>
</table>

</body>
  • 隔行变色:
 <script>
        window.onload=function(){
            var oTab=document.getElementById('tab1');
            for(var i=0;i<oTab.tBodies[0].rows.length;i++){
                if(i%2){
                    oTab.tBodies[0].rows[i].style.background='#ccc';
                }
            }
        }
</script>
<script>
        window.onload=function(){
            var oTab=document.getElementById('tab1');
            var oldColor='';
            for(var i=0;i<oTab.tBodies[0].rows.length;i++){
                if(i%2){
                    oTab.tBodies[0].rows[i].style.background='#ccc';
                }

                oTab.tBodies[0].rows[i].onmouseover=function(){
                    oldColor=this.style.background;
                    this.style.background='red';
                }
                oTab.tBodies[0].rows[i].onmouseout=function(){
                    this.style.background=oldColor;
                }

            }


        }
    </script>
  • 添加、删除一行

添加

<script>
        window.onload=function(){
            var oTab=document.getElementById('tab1');
            var name=document.getElementById('name');
            var age=document.getElementById('age');
            var obtn=document.getElementById('btn');
            obtn.onclick=function(){
                var oTr=document.createElement('tr');

                var oTd=document.createElement('td');
                oTd.innerHTML=oTab.tBodies[0].rows.length+1;
                oTr.appendChild(oTd);

                var oTd=document.createElement('td');
                oTd.innerHTML=name.value;
                oTr.appendChild(oTd);

                var oTd=document.createElement('td');
                oTd.innerHTML=age.value;
                oTr.appendChild(oTd);

                oTab.tBodies[0].appendChild(oTr);
            }


        }
    </script>
</head>
<body>
姓名:<input type="text" id="name"/>
年龄:<input type="text" id="age"/>
<input type="button" id="btn" value="添加"/>
<table id="tab1" border="1" width="500">
    <thead>
        <td>ID</td>
        <td>姓名</td>
        <td>年龄</td>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>Blue</td>
            <td>12</td>
        </tr>
        <tr>
            <td>2</td>
            <td>张三</td>
            <td>23</td>
        </tr>
        <tr>
            <td>3</td>
            <td>李四</td>
            <td>32</td>
        </tr>
        <tr>
            <td>4</td>
            <td>王五</td>
            <td>31</td>
        </tr>
        <tr>
            <td>5</td>
            <td>赵六</td>
            <td>55</td>
        </tr>

    </tbody>
</table>

</body>

添加以及删除:

 <script>
        window.onload=function(){
            var oTab=document.getElementById('tab1');
            var name=document.getElementById('name');
            var age=document.getElementById('age');
            var obtn=document.getElementById('btn');
            var id=oTab.tBodies[0].rows.length+1;
            obtn.onclick=function(){
                var oTr=document.createElement('tr');

                var oTd=document.createElement('td');
                oTd.innerHTML=id++;//这样id就不能重用啦。*
                oTr.appendChild(oTd);

                var oTd=document.createElement('td');
                oTd.innerHTML=name.value;
                oTr.appendChild(oTd);

                var oTd=document.createElement('td');
                oTd.innerHTML=age.value;
                oTr.appendChild(oTd);

                var oTd=document.createElement('td');
                oTd.innerHTML='<a href="javascript:;">删除</a>'
                oTr.appendChild(oTd);

                oTd.getElementsByTagName('a')[0].onclick=function(){
                    // oTab.tBodies[0]千万不能忘  *
                    oTab.tBodies[0].removeChild(this.parentNode.parentNode);
                }

                oTab.tBodies[0].appendChild(oTr);
            }


        }
    </script>
</head>
<body>
姓名:<input type="text" id="name"/>
年龄:<input type="text" id="age"/>
<input type="button" id="btn" value="添加"/>
<table id="tab1" border="1" width="500">
    <thead>
        <td>ID</td>
        <td>姓名</td>
        <td>年龄</td>
        <td>操作</td>
    </thead>
    <tbody>
        <tr>
            <td>1</td>
            <td>Blue</td>
            <td>12</td>
            <td></td>
        </tr>
        <tr>
            <td>2</td>
            <td>张三</td>
            <td>23</td>
            <td></td>
        </tr>
        <tr>
            <td>3</td>
            <td>李四</td>
            <td>32</td>
            <td></td>
        </tr>
        <tr>
            <td>4</td>
            <td>王五</td>
            <td>31</td>
            <td></td>
        </tr>
        <tr>
            <td>5</td>
            <td>赵六</td>
            <td>55</td>
            <td></td>
        </tr>

    </tbody>
</table>

</body>

搜索:

<script>
        window.onload=function(){
            var oTal=document.getElementById('tab1');
            var name=document.getElementById('name');
            var obtn=document.getElementById('btn');
            obtn.onclick=function(){
                for(var i=0;i<oTal.tBodies[0].rows.length;i++){
                    if(oTal.tBodies[0].rows[i].cells[1].innerHTML==name.value){
                        oTal.tBodies[0].rows[i].style.background='red';
                    }
                    else{
                        oTal.tBodies[0].rows[i].style.background='';
                    }
                }
            }
        }
    </script>
</head>
<body>
姓名:<input type="text" id="name"/>
<input type="button" id="btn" value="搜索"/>
<table id="tab1" border="1" width="500">
    <thead>
    <td>ID</td>
    <td>姓名</td>
    <td>年龄</td>
    <td>操作</td>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>Blue</td>
        <td>12</td>
        <td></td>
    </tr>
    <tr>
        <td>2</td>
        <td>张三</td>
        <td>23</td>
        <td></td>
    </tr>
    <tr>
        <td>3</td>
        <td>李四</td>
        <td>32</td>
        <td></td>
    </tr>
    <tr>
        <td>4</td>
        <td>王五</td>
        <td>31</td>
        <td></td>
    </tr>
    <tr>
        <td>5</td>
        <td>赵六</td>
        <td>55</td>
        <td></td>
    </tr>

    </tbody>
</table>

</body>

搜索忽略大小写:

 <script>
        window.onload=function(){
            var oTal=document.getElementById('tab1');
            var name=document.getElementById('name');
            var obtn=document.getElementById('btn');
            obtn.onclick=function(){

                for(var i=0;i<oTal.tBodies[0].rows.length;i++){
                    var sTab=oTal.tBodies[0].rows[i].cells[1].innerHTML;
                    if(sTab.toLowerCase()==name.value.toLowerCase()){
                        oTal.tBodies[0].rows[i].style.background='red';
                    }
                    else{
                        oTal.tBodies[0].rows[i].style.background='';
                    }
                }
            }
        }
    </script>

模糊搜索:

.search()  如果有这个东西的话,就输出索引(返回字符串出现的位置),如果没找到输出-1.

<script>
        window.onload=function(){
            var oTal=document.getElementById('tab1');
            var name=document.getElementById('name');
            var obtn=document.getElementById('btn');
            obtn.onclick=function(){

                for(var i=0;i<oTal.tBodies[0].rows.length;i++){
                    var sTab=oTal.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();
                    var sTxt=name.value.toLowerCase()
                    if(sTab.search(sTxt)!=-1){
                        oTal.tBodies[0].rows[i].style.background='red';
                    }
                    else{
                        oTal.tBodies[0].rows[i].style.background='';
                    }
                }
            }
        }
    </script>
</head>
<body>
姓名:<input type="text" id="name"/>
<input type="button" id="btn" value="搜索"/>
<table id="tab1" border="1" width="500">
    <thead>
    <td>ID</td>
    <td>姓名</td>
    <td>年龄</td>
    <td>操作</td>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>Blue</td>
        <td>12</td>
        <td></td>
    </tr>
    <tr>
        <td>2</td>
        <td>张三</td>
        <td>23</td>
        <td></td>
    </tr>
    <tr>
        <td>3</td>
        <td>李四</td>
        <td>32</td>
        <td></td>
    </tr>
    <tr>
        <td>4</td>
        <td>王五</td>
        <td>31</td>
        <td></td>
    </tr>
    <tr>
        <td>5</td>
        <td>赵六</td>
        <td>55</td>
        <td></td>
    </tr>
    <tr>
        <td>6</td>
        <td>张为</td>
        <td>77</td>
        <td></td>
    </tr>

    </tbody>
</table>

</body>

关键字:

把字符串切成数组用.splice()

 <script>
        window.onload=function(){
            var oTal=document.getElementById('tab1');
            var name=document.getElementById('name');
            var obtn=document.getElementById('btn');
            obtn.onclick=function(){

                for(var i=0;i<oTal.tBodies[0].rows.length;i++){
                    var sTab=oTal.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();
                    var sTxt=name.value.toLowerCase();
                    var arr=sTxt.split(' ');
                    oTal.tBodies[0].rows[i].style.background='';//放在内循环的外面。*
                    for(var j=0;j<arr.length;j++){

                        if(sTab.search(arr[j])!=-1){
                            oTal.tBodies[0].rows[i].style.background='red';
                        }
                    }

                }
            }
        }
    </script>
</head>
<body>
姓名:<input type="text" id="name"/>
<input type="button" id="btn" value="搜索"/>
<table id="tab1" border="1" width="500">
    <thead>
    <td>ID</td>
    <td>姓名</td>
    <td>年龄</td>
    <td>操作</td>
    </thead>
    <tbody>
    <tr>
        <td>1</td>
        <td>Blue</td>
        <td>12</td>
        <td></td>
    </tr>
    <tr>
        <td>2</td>
        <td>张三</td>
        <td>23</td>
        <td></td>
    </tr>
    <tr>
        <td>3</td>
        <td>李四</td>
        <td>32</td>
        <td></td>
    </tr>
    <tr>
        <td>4</td>
        <td>王五</td>
        <td>31</td>
        <td></td>
    </tr>
    <tr>
        <td>5</td>
        <td>赵六</td>
        <td>55</td>
        <td></td>
    </tr>
    <tr>
        <td>6</td>
        <td>张为</td>
        <td>77</td>
        <td></td>
    </tr>

    </tbody>
</table>

</body>

筛选:

<script>
        window.onload=function(){
            var oTal=document.getElementById('tab1');
            var name=document.getElementById('name');
            var obtn=document.getElementById('btn');
            obtn.onclick=function(){

                for(var i=0;i<oTal.tBodies[0].rows.length;i++){
                    var sTab=oTal.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();
                    var sTxt=name.value.toLowerCase();
                    var arr=sTxt.split(' ');
                    oTal.tBodies[0].rows[i].style.display='none';//放在内循环的外面。*
                    for(var j=0;j<arr.length;j++){

                        if(sTab.search(arr[j])!=-1){
                            oTal.tBodies[0].rows[i].style.display='block';
                        }
                    }

                }
            }
        }
    </script>

appendChild():1.先把元素从原有父级上删除。2.添加到新的父级。

            oBtn.onclick=function(){
                var oLi=oUl1.children[0];
                oUl1.removeChild(oLi);
                oUl2.appendChild(oLi);
            }

排序

 <style>
        #ul1{
            background: green;
        }
        #ul2{
            background: yellow;
        }
    </style>
    <script>
        window.onload=function(){
            var oUl1=document.getElementById('ul1');

            var oUl2=document.getElementById('ul2');
            /*var aLi2=oUl2.getElementsByTagName('li');*/
            var oBtn=document.getElementById('btn');
            oBtn.onclick=function(){
                var aLi1=oUl1.getElementsByTagName('li');
                /*aLi1.sort();//错误的aLi1不是Array  只是他们都可以length和[]*/
                var arr=[];
                for(var i=0;i<aLi1.length;i++){
                    arr[i]=aLi1[i];
                }
                arr.sort(function(li1,li2){
                    var n1=parseInt(li1.innerHTML);
                    var n2=parseInt(li2.innerHTML);
                    return n1-n2;
                });
                for(var i=0;i<arr.length;i++){
                    oUl1.appendChild(arr[i]);
                }

            }
        }
    </script>
</head>
<body>
<ul id="ul1">
    <li>44</li>
    <li>65</li>
    <li>76</li>
    <li>4</li>
</ul>
<input type="button" value="排序" id="btn"/>
<ul id="ul2">
</ul>


</body>

表格排序:

 <script>
        window.onload=function(){
            var oTal=document.getElementById('tab1');
            var oBtn=document.getElementById('btn');
            oBtn.onclick=function(){
            var arr=[];
            for(var i=0;i<oTal.tBodies[0].rows.length;i++){
                arr[i]=oTal.tBodies[0].rows[i];
            }
            arr.sort(function(tr1,tr2){
                var n1=parseInt(tr1.cells[0].innerHTML);
                var n2=parseInt(tr2.cells[0].innerHTML);

                return n1-n2;

            });
            for(var i=0;i<arr.length;i++){
                oTal.tBodies[0].appendChild(arr[i]);
            }

        }
        }
    </script>
</head>
<body>
<input type="button" id="btn" value="排序"/>
<table id="tab1" border="1" width="500">
    <thead>
    <td>ID</td>
    <td>姓名</td>
    <td>年龄</td>
    <td>操作</td>
    </thead>
    <tbody>

    <tr>
        <td>2</td>
        <td>张三</td>
        <td>23</td>
        <td></td>
    </tr>
    <tr>
        <td>5</td>
        <td>赵六</td>
        <td>55</td>
        <td></td>
    </tr>
    <tr>
        <td>3</td>
        <td>李四</td>
        <td>32</td>
        <td></td>
    </tr>


    <tr>
        <td>6</td>
        <td>张为</td>
        <td>77</td>
        <td></td>
    </tr>
    <tr>
        <td>4</td>
        <td>王五</td>
        <td>31</td>
        <td></td>
    </tr>
    <tr>
        <td>1</td>
        <td>Blue</td>
        <td>12</td>
        <td></td>
    </tr>

    </tbody>
</table>

</body>

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本支持库实现了对表格的支持。 操作系统支持: Windows 高级表格升级记录  By:邓学彬 2020/07 ===================================== [属性修改] 01.增加属性:点燃边框色,让焦点单元格的文字颜色、边框颜色分开设置 02.增加属性:表头,打开 表头设计器 ,可视化设计表头 ===================================== [组件增加] 增加可以放置到单元格里面的组件 01.表格按钮 02.表格选择按钮 03.表格单选按钮 04.表格开关按钮 05.表格进度条 ===================================== [命令修改] 01.高级表格.置列类型,增加 #表格常量.组件型 02.高级表格.置列类型,增加 #表格常量.宽文本型 03.高级表格.置数据,增加 组件型 数据的设置 04.高级表格.置数据,增加 日期时间型 数据的处理 05.高级表格.置数据,增加 宽文本(Unicode) 数据的处理 06.高级表格.置日期格式,增加:#表格常量.日期时间格式1(yyyy-MM-dd HH:mm) 07.高级表格.置日期格式,增加:#表格常量.日期时间格式2(yyyy-MM-dd HH:mm:ss) 08.高级表格.置日期格式,增加:#表格常量.时间格式1(HH:mm) 09.高级表格.置日期格式,增加:#表格常量.时间格式2(HH:mm:ss) 10.高级表格.清空数据,增加参数:保留表头 11.增加命令:高级表格.置组件,和“置数据”相似,一个单元格可以设置多个组件 12.增加命令:高级表格.置按钮选中 13.增加命令:高级表格.取按钮选中 14.增加命令:高级表格.置进度条位置 15.增加命令:高级表格.取进度条位置 16.增加命令:高级表格.取宽文本数据 17.增加命令:高级表格.取文本数据,和“取数据”相似,避免返回通用型出现的数据类型不一致问题。 18.增加命令:高级表格.取逻辑数据 19.增加命令:高级表格.取图片数据 20.增加命令:高级表格.存到字节集,将表格中所有现有数据保存到字节集中。 21.增加命令:高级表格.从字节集读,从字节集中读入表格数据 22.增加命令:高级表格.自动调整行,根据内容长度、字体大小调整行高 23.增加命令:高级表格.自动调整列,根据内容长度、字体大小调整列宽 24.增加命令:高级表格.自动调整行列,根据内容长度、字体大小调整行高、列宽 25.增加命令:高级表格.自动调整表头,根据表头设置的宽度为-1的列,平均分配列宽,铺满表格。 26.增加命令:高级表格.分配列宽,其他列剩下的宽度,平均分给指定的列,铺满表格。 ===================================== [事件修改] 01.增加事件:按钮被点击,单元格里的按钮、选择按钮被点击时触发 02.增加事件:横向滚动条被改变 03.增加事件:纵向滚动条被改变 04.增加事件:滚动到底部,滚动条或鼠标滚轮滚动到底部时触发。 ===================================== [其他修改] 01.修复在某些情况下,TAB键切换单元格失效的问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值