zoukankan      html  css  js  c++  java
  • DOM

    表格的应用

    <table> 标签定义 HTML 表格。

    简单的 HTML 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成。

    tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元。

    更复杂的 HTML 表格也可能包括 caption、col、colgroup、thead、tfoot 以及 tbody 元素。

         <script>
         window.onload=function()
         {
            var tab=document.getElementById('tab');
            alert(tab.getElementsByTagName('tbody')[0].getElementsByTagName('tr')[2].getElementsByTagName('td')[1].innerHTML);
         }
         </script>

     表格具备的简便操作:getElementsByTagName('tbody')=tBodies, getElementsByTagName('tr')=rows, getElementsByTagName('td')=cells,

         <script>
         window.onload=function()
         {
            var tab=document.getElementById('tab');
            alert(tab.tBodies[0].rows[2].cells[1].innerHTML);
         }
         </script>
    <body>
    <table id="tab" border="1" width="400">
      <thead>
        <td>ID</td>
        <td>name</td>
        <td>sex</td>
      </thead>    
      <tbody>
        <tr>  
            <td>1</td>
            <td>red</td>
            <td></td>
        </tr>
        <tr>
            <td>2</td>
            <td>green</td>
            <td></td>        
        </tr>
            <tr>
            <td>3</td>
            <td>blue</td>
            <td></td>        
        </tr>
      </tbody>
    </table>
    </body>

     表格中的隔行变色

            for(i=0;i<tab.tBodies[0].rows.length;i++)
            {
                      tab.tBodies[0].rows[i].style.background=i%2?"#ccc":"";
            }

    鼠标移入移出表格高亮情况

            var tab=document.getElementById('tab');
            var oldBgColor="";
            var i=0;
            
            for(i=0;i<tab.tBodies[0].rows.length;i++)
            {
                tab.tBodies[0].rows[i].style.background=i%2?"#ccc":"";
                tab.tBodies[0].rows[i].onmouseover=function()
                {            
                    oldBgColor=this.style.background;
                    this.style.background="yellow";
                };
                tab.tBodies[0].rows[i].onmouseout=function()
                {
                    this.style.background=oldBgColor;
                }
            }

     添加、删除

          • DOM方法的使用

     1 <script>     
     2 window.onload=function()
     3      {
     4         var tab=document.getElementById('tab');
     5         var txt=document.getElementById('txt');
     6         var btn=document.getElementById('btn');
     7         var iNowId=tab.tBodies[0].rows.length+1;
     8         
     9         btn.onclick=function()
    10         {
    11             var tr=document.createElement('tr');
    12             var td=null;
    13             
    14             td=document.createElement('td');
    15             td.innerHTML=iNowId++;
    16             tr.appendChild(td);
    17             
    18             td=document.createElement('td');
    19             td.innerHTML=txt.value;
    20             tr.appendChild(td);
    21             
    22             td=document.createElement('td');
    23             td.innerHTML="<a href='javascript:;'>删除</a>";
    24             tr.appendChild(td);
    25             
    26             td.getElementsByTagName('a')[0].onclick=function()
    27             {
    28                 tab.tBodies[0].removeChild(this.parentNode.parentNode);
    29             }
    30             
    31             tab.tBodies[0].appendChild(tr);
    32             
    33         }
    34     
    35      }
    36 </script>
    <body>
    <input id="txt" type="text"/>
    <input id="btn" type="button" value="添加"/>
    <table id="tab" border="1" width="400">
      <thead>
        <td>ID</td>
        <td>name</td>
        <td>操作</td>
      </thead>    
      <tbody>
        <tr>  
            <td>1</td>
            <td>red</td>
            <td></td>
        </tr>
        <tr>
            <td>2</td>
            <td>green</td>
            <td></td>        
        </tr>
        <tr>
            <td>3</td>
            <td>blue</td>
            <td></td>        
        </tr>
        <tr>
            <td>4</td>
            <td>black</td>
            <td></td>        
        </tr>
        <tr>
            <td>5</td>
            <td>yellow</td>
            <td></td>        
        </tr>
      </tbody>
    </table>
    </body>

     搜索表格中的关键词所在的行

     1  <script>
     2     window.onload=function()
     3     {
     4         var tab=document.getElementById('tab');
     5         var btn=document.getElementById('btn');
     6         var txt=document.getElementById('txt');
     7         
     8         btn.onclick=function()
     9         {
    10             var i=0;
    11             for(i=0;i<tab.tBodies[0].rows.length;i++)
    12             {
    13                 //忽略大小写——toLowerCase()
    14                 var sValueInTab=tab.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();
    15                 var sValueInTxt=txt.value.toLowerCase();
    16                 
    17                 var arr=sValueInTxt.split(' ');//切割字符窜
    18                 var bFond=false;
    19                 //判断多个关键词的搜索
    20                 for(var j=0;j<arr.length;j++)
    21                 {
    22                     if(sValueInTab.search(arr[j])!=-1)//判断字符窜在arr里面
    23                     {
    24                         bFond=true;
    25                         break;
    26                     }
    27                 }
    28                 //判断关键词在哪一行
    29                 if(bFond)    
    30                 {
    31                     tab.tBodies[0].rows[i].style.background='yellow';
    32                 }
    33                 else
    34                 {
    35                     tab.tBodies[0].rows[i].style.background='';
    36                 }
    37             }
    38         }
    39     }
    40   </script>

    排序

    1.转成数组

    2.数组排序

    3.重新插入

    示例

     1 <!doctype html>
     2 <html>
     3 <head>
     4      <meta charset="utf-8">
     5      <title>未命名</title>
     6      <script>
     7      window.onload=function()
     8      {
     9         
    10         var ul1=document.getElementById('ul1');
    11         var btn=document.getElementById('btn');
    12         
    13         btn.onclick=function()
    14         {
    15             ali=ul1.getElementsByTagName('li');
    16             var arr=[];
    17             var i=0;
    18             
    19             //ali本身不能排序,--转成数组
    20             for(i=0; i<ali.length; i++)
    21             {    
    22                 arr[i]=ali[i];        
    23             }
    24             //数组排序
    25             arr.sort(function(li1, li2){
    26                 return parseInt(li1.innerHTML)-parseInt(li2.innerHTML)
    27             });
    28             
    29             //重新插入
    30             for(i=0; i<ali.length; i++)
    31             {
    32                 ul1.appendChild(arr[i]);
    33             }
    34         }
    35     }
    36         
    37     
    38      </script>
    39 </head>
    40 <body>
    41 <input id="btn" type="button" value="排序"/>
    42 <ul id="ul1">
    43     <li>33</li>
    44     <li>9</li>
    45     <li>12</li>
    46     <li>5</li>
    47     <li>66</li>
    48 </ul>
    49 </body>
    50 </html>

     表格中的排序应用

    示例

     1 <!doctype html>
     2 <html>
     3 <head>
     4      <meta charset="utf-8">
     5      <title>未命名</title>
     6      <script>
     7     window.onload=function()
     8     {
     9         var tab=document.getElementById('tab');
    10         var btn=document.getElementById('btn');
    11         var tt=false;
    12         
    13         btn.onclick=function()
    14         {
    15             var arr=[];
    16             var i=0;
    17             
    18             for(i=0; i<tab.tBodies[0].rows.length;i++)
    19             {
    20                 arr[i]=tab.tBodies[0].rows[i];
    21             }
    22             
    23             arr.sort(function(tr1, tr2){
    24                 if(tt)
    25                 {
    26                    return parseInt(tr1.cells[0].innerHTML)-parseInt(tr2.cells[0].innerHTML);    
    27                 }
    28                 else
    29                 {
    30                    return parseInt(tr2.cells[0].innerHTML)-parseInt(tr1.cells[0].innerHTML);
    31                 }
    32             })
    33             
    34             for(i=0; i<arr.length; i++)
    35             {
    36                 tab.tBodies[0].appendChild(arr[i]);
    37             }            
    38             
    39             tt=!tt;
    40         /*    if(tt)
    41             {
    42                 tt=false;
    43             }
    44             else
    45             {
    46                 tt=true;
    47             } */
    48         }
    49     }    
    50      </script>
    51 </head>
    52 <body>
    53 
    54 <input id="btn" type="button" value="排序"/>
    55 <table id="tab" border="1" width="400">
    56   <thead>
    57     <td>ID</td>
    58     <td>name</td>
    59     <td>操作</td>
    60   </thead>    
    61   <tbody>
    62     <tr>  
    63         <td>3</td>
    64         <td>red</td>
    65         <td></td>
    66     </tr>
    67     <tr>
    68         <td>2</td>
    69         <td>green</td>
    70         <td></td>        
    71     </tr>
    72     <tr>
    73         <td>1</td>
    74         <td>blue</td>
    75         <td></td>        
    76     </tr>
    77     <tr>
    78         <td>5</td>
    79         <td>black</td>
    80         <td></td>        
    81     </tr>
    82     <tr>
    83         <td>4</td>
    84         <td>yellow</td>
    85         <td></td>        
    86     </tr>
    87   </tbody>
    88 </table>
    89 </body>
    90 </html>    
    目标很遥远,但是如果你拼了命努力,即使到最后没有达到目标,但是你会发现,在某种程度上你已经成功了。
  • 相关阅读:
    ZOJ-3725 Painting Storages DP
    ZOJ-3720 Magnet Darts 计算几何,概率
    ZOJ-3721 Final Exam Arrangement 贪心
    POJ-2096 Collecting Bugs 概率DP
    [转]数据输入加速
    POJ-3468 A Simple Problem with Integers Splay Tree区间练习
    HDU-4419 Colourful Rectangle 矩形多面积并
    POJ-1177 Picture 矩形覆盖周长并
    HDU-1255 覆盖的面积 覆盖的矩形面积并
    POJ-1151 Atlantis 矩形面积并
  • 原文地址:https://www.cnblogs.com/Cavalary/p/7790036.html
Copyright © 2011-2022 走看看