• javascript对DOM的常用操作


    一,DOM对象:
    1:访问节点:
    访问HTML元素用getElementsByTagName("ul");
    getElementById("cssLi");

    2:遍历节点
       var oUL=document.getElementById("myList");
       var DOMString="";
       if(oUL.hasChildNodes())
     {
       var oCh=oUL.childNodes;
       for(var i=0;i<oCh.length;i++)
         {
      DOMString+=oCh[i].nodeName+"\n";
         }
     }
          alert(DomString);
    3:获取节点属性
     
     var myImag=document.getElementsByTagName("img")[0] //获取第0张图片
     alert(myImg.getAttribute("title"))  //获取第0张图片的title属性
     
    4:创建节点

     function creatP()  //创建P节点
     {
       var oP=document.createElement("p");
       var oText=document.createTextNode("这是一段感人的故事") ;
       oP.appendChild(oText);
       document.body.appendChild(op);
     }
    5:innerHTML属性
      该属性表示某个标记之间的所有内容,包括代码本身,该属性可以读取,同时也可以写
     function myDOMInnerHTML()
     {
       var myDiv=document.getElementById("myTest");
               alert(myDiv.innerHTML);      //直接显示innerHTML的内的标记和内容
               myDiv.innerHTML="<img src='01.jpg' title='情人坡'>" //修改innerHTML属性,可以直接添加代码
     }

    二,事件
    1 监听函数
       (1)简单的监听函数
     window.onload=function()
     {
       var oP=document.getElementById("myP")  //找到对象
       oP.onclick=function()
         {
      alert("我被点击了");
         }
     }
        (2)IE的监听函数
      window.onload=function()
      {
           var oP=document.getElementById("myP");   //找到对象
         oP.attachEvent("onclick",fnClick);     //添加监听函数
             }
             function fnClick()
      {
        alert("我被点击了");
        //oP.detachEvent("onclick",fnClick);   //点击了一次后删除监听函数
             }
         (3)标准DOM的事件监听(Firefox)
      window.onload=function()
      {
               var oP=document.getElementById("myP");   //找到对象
        oP.addEventListener("click",fnClick1,false);     //添加监听函数,注意是click,false代表冒泡型事件
               oP.addEventListener("click",fnClick2,false);
       }
      function fnClick1()
     {
       alert("我被fnClick1点击了");
             // oP.removeEventListener("click",fnClick2,false);  删除监听函数
     }
              function fnClick2()
     {
       alert("我被fnClick2点击了");
     }
     2事件对象
        (1)通常为了兼容两种浏览器,通常采用下面的方法
          oP.onclick=function(oEvent)
     {
       if(window.event)
          oEvent=window.event;
     }
          (2)事件类型
            window.onload=function()
     {
             var oImg=document.getElementsByTagName("img")[0];
        oImg.onclick=handle;
              oImg.onmouseover=handle;
     }
      function handle(oEvent)
     {
        var oDiv=document.getElementById("display");
        if(window.event)
          oEvent=window.event;     //处理兼容性,获得事件对象
         if(oEvent.type=="click")
                   oDiv.innerHTML+="你点击了我"
                if(oEvent.type=="mouseover")
      oDiv.innerHTML+="你移动到了我的上方";
     }
      
    三, 动态添加表格和删除表格

        添加: window.onload=function()
     {
        var oTr=document.getElementById("talbe").inserRow(2);  //插入一行,位置是第三行
        var aText=new Array();
          aText[0]=document.createTextNode("fresheggs");
          aText[1]=document.createTextNode("W610");
          aText[2]=document.createTextNode("Nov 5th");
                 for(var i=0;i<aText.length;i++)
      {
         var oTd=oTr.insertCell(i);
         oTd.appendChild(aText[i]);
      }
     }
       删除: window.onload=function()
     {
       var oTable=document.getElementById("talbe");
       oTable.deleteRow(2);   //只删除一行,位置是第三行,后面的行号自动补齐
         oTable.rows[2].deleteCell(1);  //只删除一个单元格,后面的单元格也自动补齐

     }

       隔行换色
          <script language="javascript">
           window.onload = function(){
      var oTable = document.getElementById("oTable");  //获取表格的ID
          for(var i=0;i<oTable.rows.length;i++){
      if(i%2==0)  //偶数行时
       oTable.rows[i].className = "altrow";
                }
                   }
            </script>

    四, 表单基础
          加入<lable>标记后可以友好地提示,如
        <lable for="name">姓名:<input type="text" name="txtname"/></lable> 
         onmouseover="this.focus()"  获得焦点
         onfocus="this.select()"

    五,异常处理

        1: window.onerror=function()  //如果试先定义了这个函数,如果javascript中有错,会自己调用
        {
     alert("出错啦!");
        }

        2: try{
               alert("this is an example");
         alert(fresheggs)   //未定义
             }catch(exception)
             {
      var sError="";
      for(var i in exception)
      {
       sError+=i+":"+exception[i]+"\n";
      }
      alert(sError);
             }
         

    六, Ajax
           (1)创建:
           var xmlHttp;   
           function createXMLHttpRequest()
           {
       if(window.ActiveXObject)
               {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
        else if(window.XMLHttpRequest)
        {
         xmlHttp=new XMLHttpRequest();
        }
     }
          (2)建立请求:
     xmlHttp.open("GET","a.aspx",true); 
          (3)异步对象链接服务器
            xmlHttp.onreadystatechange=function()
     {
       if(xmlHttp.readyState==4&&xmlHttp.status==200)
              alert("服务器:"+xmlHttp.responseText);
     }
           (4)send()发送
            xmlHttp.send(null);  //通过Get提交

  • 相关阅读:
    未来十年Python的前景会怎样?
    mysql配置mha高可用防火墙未关闭报错
    Cenos7 切换单用户模式
    奇葩问题: lsattr -d /data 显示:----------I--e- /data/
    在Vue 的main.js 文件使用Element-UI的this.$message('msg')
    IIS上部署项目,网页控制台报错,.svg 等文件类型找不到
    git commit 格式
    Entity Framework 插入带有外键的数据,重新添加了外建表里的数据
    element-ui Select 组件传递对象
    Entity Framework Code First实体关联数据加载
  • 原文地址:https://www.cnblogs.com/Triangle/p/1413687.html
Copyright © 2020-2023  润新知