zoukankan      html  css  js  c++  java
  • 学习blus老师js(5)--DOM操作应用高级

    一、表格应用 - 1
    • 获取
    • tBodies、tHead、tFoot、rows、cells
    一个表格可以有很多tbody,所以tBodies是数组;
    一个表格只能有一个thead和tfoot,所以tHead和tFoot是一个元素;
    表格有自己独有的简便操作;因为js诞生的时候,那会全是表格;所以给表格提供了一些便捷的操作。
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>
    window.onload=function ()
    {
        var oTab=document.getElementById('tab1');
        
        //alert(oTab.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[1].getElementsByTagName('td')[1].innerHTML);
        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>27</td>
            </tr>
            <tr>
                <td>2</td>
                <td>张三</td>
                <td>23</td>
            </tr>
            <tr>
                <td>3</td>
                <td>李四</td>
                <td>28</td>
            </tr>
            <tr>
                <td>4</td>
                <td>王五</td>
                <td>25</td>
            </tr>
            <tr>
                <td>5</td>
                <td>张伟</td>
                <td>24</td>
            </tr>
        </tbody>
    </table>
    </body>
    </html>
    View Code
    •  search方法的使用:
    <script>
    var str='abcdef';
    
    alert(str.search('g'));    //找到并且返回字符串出现的位置,如果没找到-1
    </script>

     2.appendChild的作用:

    1.先把元素从原有父级上删掉    
    2.添加到新的父级
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <style>
    #ul1 {background:green;}
    #ul2 {background:yellow;}
    </style>
    <script>
    window.onload=function ()
    {
        var oUl1=document.getElementById('ul1');
        var oUl2=document.getElementById('ul2');
        var oBtn=document.getElementById('btn1');
        
        oBtn.onclick=function ()
        {
            var oLi=oUl1.children[0];
            
            //oUl1.removeChild(oLi);
            oUl2.appendChild(oLi);    //1.先把元素从原有父级上删掉    2.添加到新的父级
        };
    };
    </script>
    </head>
    
    <body>
    <ul id="ul1">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
    <input id="btn1" type="button" value="移动" />
    <ul id="ul2">
    </ul>
    </body>
    </html>
    View Code

    3.表格排序。这里例子是按照ID排序,排序的思路用到了上面的appendChild:

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>
    window.onload=function ()
    {
        var oTab=document.getElementById('tab1');
        var oBtn=document.getElementById('btn1');
        
        oBtn.onclick=function ()
        {
            var arr=[];
            
            for(var i=0;i<oTab.tBodies[0].rows.length;i++)
            {
                arr[i]=oTab.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++)
            {
                oTab.tBodies[0].appendChild(arr[i]);
            }
        };
    };
    </script>
    </head>
    
    <body>
    <input id="btn1" type="button" 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>6</td>
                <td>王四</td>
                <td>24</td>
                <td></td>
            </tr>
            <tr>
                <td>1</td>
                <td>Blue</td>
                <td>27</td>
                <td></td>
            </tr>
            <tr>
                <td>5</td>
                <td>张伟</td>
                <td>24</td>
                <td></td>
            </tr>
            <tr>
                <td>3</td>
                <td>李四</td>
                <td>28</td>
                <td></td>
            </tr>
            <tr>
                <td>4</td>
                <td>王五</td>
                <td>25</td>
                <td></td>
            </tr>
        </tbody>
    </table>
    </body>
    </html>
    View Code
     
     二、表单:
    表单事件
    onsubmit  提交时发生
    onreset    重置时发生
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <script>
    window.onload=function ()
    {
        var oForm=document.getElementById('form1');
        
        oForm.onsubmit=function ()
        {
            alert('aaa');
            return false;    //阻止默认事件
        };
        oForm.onreset=function ()
        {
            alert('bbbbbb');
        };
    };
    </script>
    </head>
    
    <body>
    <form id="form1" action="http://www.zhinengshe.com/">
        用户名:<input type="text" name="user" /><br>
        密码:<input type="password" name="pass" />
        <input type="submit" />
        <input type="reset" />
    </form>
    </body>
    </html>
    View Code
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    --------------
  • 相关阅读:
    Vue3源码系列之触发更新的实现
    Vue3源码系列之依赖收集的实现
    Vue3源码系列之reactiveApi实现
    删除链表的倒数第n个节点
    Shared_ptr 参考实现
    linux 目录结构 比较老
    C++11 bind function
    状态机DP
    尾递归
    秒杀系统的构建(2)
  • 原文地址:https://www.cnblogs.com/tenWood/p/7670430.html
Copyright © 2011-2022 走看看