zoukankan      html  css  js  c++  java
  • DOM高级

    一、表格应用

    thead、tbody、tfoot

    1.隔行变色、高亮、添加删除内容

     1 var oTab=document.getElementById('tab1');
     2     var oBtn=document.getElementById('btn1');
     3     var oTxt=document.getElementById('txt1');
     4     var iNowId=oTab.tBodies[0].rows.length+1;//创建一个变量来设置行号
     5     var oldBgColor='';//创建一个变量存储原来的颜色
     6     
     7     var ctx=oTab.tBodies[0].rows[0].cells[1].innerHTML;//alert(ctx);
     8     var i=0;console.log(oTab.tBodies[0]);
     9     for(i=0;i<oTab.tBodies[0].rows.length;i++){
    10         oTab.tBodies[0].rows[i].style.background=i%2?'#fee':'';//隔行变色
    11         //移入高亮//oTab.tBodies[0].rows[i].index=i;
    12         oTab.tBodies[0].rows[i].onmouseover=function(){
    13             oldBgColor=this.style.background;
    14             this.style.background='yellow';
    15         }
    16         oTab.tBodies[0].rows[i].onmouseout=function(){
    17             //this.style.background=this.index%2?'#fee':'';
    18             this.style.background=oldBgColor;
    19         }
    20     }
    21     
    22     oBtn.onclick=function(){
    23         var oTr=document.createElement('tr');
    24         var oTd=null;
    25         
    26         oTd=document.createElement('td');
    27         oTd.innerHTML=iNowId;
    28         iNowId++;
    29         oTr.appendChild(oTd);
    30         
    31         oTd=document.createElement('td');
    32         oTd.innerHTML=oTxt.value;
    33         oTr.appendChild(oTd);
    34         
    35         oTd=document.createElement('td');
    36         oTd.innerHTML='<a href="javascript:;">Delete</a>';
    37         oTr.appendChild(oTd);
    38         
    39         oTd.getElementsByTagName('a')[0].onclick=function(){
    40             oTab.tBodies[0].removeChild(this.parentNode.parentNode);
    41         }
    42         
    43         oTab.tBodies[0].appendChild(oTr);
    44     }

    2.搜索

     1         var i=0;
     2         
     3         for(i=0;i<oTab.tBodies[0].rows.length;i++){//console.log(oTab.tBodies[0].rows[1].cells[1].innerHTML);
     4         
     5         var txtValue=oTxt.value.toLowerCase();//目标值转换成小写
     6         var tabValue=oTab.tBodies[0].rows[i].cells[1].innerHTML.toLowerCase();
     7         var arr=txtValue.split(' ');console.log(txtValue+'--'+arr);
     8         var bFound=false;//设置一个变量用来判断是否搜到
     9         
    10             for(var j=0;j<arr.length;j++){
    11                 if(tabValue.search(arr[j])!=-1 && arr[0]){alert(tabValue.search(arr[j]));
    12                     bFound=true;
    13                     break;
    14                 }
    15             }
    16             
    17             if(bFound){//不区分大小写搜索
    18                 oTab.tBodies[0].rows[i].style.background='red';
    19             }else{
    20                 oTab.tBodies[0].rows[i].style.background='';
    21             }
    22         }

    二、排序

     1 var bAsc=true;//设置一个变量来控制升降序
     2     
     3     oBtn.onclick=function(){
     4         var aLi=oUl1.getElementsByTagName('li');//oUl1.appendChild(aLi[0]);
     5         
     6         //1.转成数组
     7         var arr=[];
     8         var i=0;
     9         for(i=0;i<aLi.length;i++){
    10             arr[i]=aLi[i];
    11         }
    12         //2.数组排序
    13         arr.sort(function(li1,li2){
    14             if(bAsc){
    15                 return parseInt(li1.innerHTML)-parseInt(li2.innerHTML);
    16             }else{
    17                 return parseInt(li2.innerHTML)-parseInt(li1.innerHTML);
    18             }
    19         });
    20         
    21         //3.重新插入
    22         for(i=0;i<arr.length;i++){
    23             oUl1.appendChild(arr[i]);
    24         }
    25         bAsc=!bAsc;//实现升降序转换
    26     };

    三、表单

     1 var oForm=document.getElementById('form1');
     2     var oUser=document.getElementsByName('user')[0];
     3     var oPass=document.getElementsByName('pass')[0];    
     4     
     5     oForm.onsubmit=function(){
     6         if(oUser.value=='' || oPass.value==''){
     7             return false;//用来阻止默认事件就用return false
     8         }
     9     }
    10     oForm.onreset=function(){
    11         return confirm('Y OR N');
    12     }


    作者:狂流
    出处:http://www.cnblogs.com/kuangliu/
    欢迎转载,分享快乐! 如果觉得这篇文章对你有用,请抖抖小手,推荐一下!

  • 相关阅读:
    runloop源代码
    runloop的source
    How an Event Enters a Cocoa Application
    RunLoop主要处理以下6类事件
    NSRunloop总结
    performSelector与objc_msgSend
    iOSUI显示思想
    NSPort与NSRunloop的关系是流与消息调度的关系
    Core Animation 负责将bitmap绑定提交到 GPU-[CALayer _display]
    iOS构建流畅的交互界面--CPU,GPU资源消耗的原因和解决方案
  • 原文地址:https://www.cnblogs.com/kuangliu/p/3494808.html
Copyright © 2011-2022 走看看