学习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

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--------------
posted on 2017-10-15 12:04  有点懒惰的大青年  阅读(277)  评论(0编辑  收藏  举报