关于JavaScript Dom

 

1、dom的定义 document object model(文档对象模型)

2、为什么叫文档对象模型呢?
   dom 可以将标记型(html xml)文档转换为对象
       可以将标记性文档的每一个标记都转换为对象
       将文档或者是标记封装成对象后,对象提供了更多属性和方法操作的文档

3、节点的概念
    在dom的结构图中,我们可以看到,图有元素节点构成
   
     每一个html元素都是一个节点
     节点有可以分为:文本节点、元素节点、属性节点
---------------------------------------------------
DHTML简介
 1、DHTML就是动态的html,是多个技术的综合
 
   html:封装的数据对象
   css:对数据对象进行修饰;
   dom:提供对数据对象访问的方法;
   javascript:实现对对象的灵活操作,是"粘合剂" 

BOM的概念
 BOM browser object model窗口对象模型 
--document 文档对象
--history 历史对象
--location 地址对象
--screen 屏幕对象
...

----------------------------------------------------------
dom 访问节点的几种方法
1、document.getElementById("对象的id");独立访问某一个对象的时候使用

2、document.getElementsByName("对象的name");返回的是一个数组(节点的列表)

3、document.getElementsByTagName("标签名称");返回的也是一个对象数组

 

 小知识点:

   ①parseInt:解析一个字符串并返回一个整数。

   a=parseInt(document.getElementById("num1").value);

 

  ②eval() 函数可计算某个字符串,并执行其中的的 JavaScript

  ③isNaN(num)判断num是否是数字

  ④indexOf() 方法可返回某个指定的字符串值在字符串中首次出现

的位置。

    查找子字符串(匹配字符串)

                      查找到了,返回字符串出现的位置

                      没找到    返回 -1

 

  ⑤Math.random() 来返回 0 到 1 之间的随机数。

  ⑥Math.round()。 返回整数

 

  var result=Math.round(Math.random()*10);返回0-10整数

      Math.round(Math.random*(n-m)+m)产生m-n之间的整数:

 

  ⑦Math.max() 来返回两个给定的数中的较大的数。

    Math.min() 来返回两个给定的数中的较小的数。

 

  ⑧ charAt():返回指定位置的字符串

            substr():字符串的截取,可加两个参数,形如:substr 

                   (2,2)第二个位置 长度;也可以是一个参数   

                 ,则表示从这个位置截取到字符串结束

 

            toLowerCase():把字符串转换为小写

 ⑨  <p id="testid">这里放了一个p</p>

 document.getElementById("testid").style.display="block";

 document.getElementById("testid").style.display="none";

 

 ⑩var p=document.getElementById("p");

   p.style.border="1px solid red";-->js设置css样式加边框

 

 11)

   1、document.getElementById("对象的id");独立访问某一个对

象的时候使用

   2、document.getElementsByName("对象的name");返回的是一个

数组(节点的列表)

    var p=document.getElementsByName("p1");--><p

name="p1"></p>

   3、document.getElementsByTagName("标签名称");返回的也是

一个对象数组

    var p=document.getElementsByTagName("p");p标签

12)moveBy() 方法可相对窗口的当前坐标把它移动指定的像素。

   (360浏览器不支持IE和FF支持)

     for(var i=0;i<200;i++){

       

        //向右斗10

        moveBy(10,0);

       

        //向下斗10

        moveBy(0,10);

       

         //向左斗10

        moveBy(-10,0);

       

         //向上斗10

        moveBy(0,-10);

       

        }

 

13) 见dom-childnode0num.html

     parentNode父节点

     firstChild第一个子节点

     lastChild最后一个子节点

     nodeType节点类型 (返回1 元素节点 3 文本节点)

     nodeValue节点的值

     childNodes.length获取节点的个数

 alert(document.getElementById("test").childNodes.length);

 

14)display:block显示||none不显示

  document.getElementById("testid").style.display="none";

 

 15)//获取所有的对象

      var a=document.all;

     

      var str="";

     

       for(var i=0;i<a.length;i++){

          

           str+="---"+a[i].tagName+"<br>";

            

            }

       document.write(str);

 

通过子节点设置父节点 小案例:

   <script type="text/javascript">

 

   function getTest1(){

      //设置id="test1"的对象的边框颜色是1像素的红色实线  

        document.getElementById("test1").style.border="1px solid red";

        

   }

  

   //测试调用父对象

  

    function setParent(){

          

         /*

           1、先获取一个有父节点的对象

            2、使用parentNode 获取父对象

        

         */  

         var p1=document.getElementById("test1");

       //设置父节点

         p1.parentNode.style.border="1px solid pink";

       //设置第一个子节点

        p1.firstChild.style.border="1px solid green";

           }

          

       function getlastnode(){

            //设置最后一个子节点

            var lastnode=document.getElementById("test");

            //alert(lastnode.lastChild.tagName);

            

            lastnode.lastChild.style.border="1px solid black";

            } 

            

 

//取出子节点的值

    function getvalue(){

     

        var p=document.getElementById("test2");

        //元素节点类型-->1

        alert("p节点的类型"+p.nodeType);

         alert(p.firstChild.nodeValue);

         //文本节点-->3

         alert("p->firstChild:"+p.firstChild.nodeType);

   }

  

   //获取节点个数

   function getNodes(){

        

         alert(document.getElementById("test").childNodes.length);

       

         }

</script>

</head>

<body>

 <div id="test">

   <p id="test1"><b>这是一个p</b></p>

   <p id="test2">这又是一个p</p>

 </div>

 <input type="button" value="测试第一个p节点" οnclick="getTest1()">

 <input type="button" value="测试p父节点和p子节点<b>" οnclick="setParent()">

 <input type="button" value="测试最后一个子节点" οnclick="getlastnode()">

  <input type="button" value="获取子节点的值" οnclick="getvalue()">

   <input type="button" value="获取子节点的个数" οnclick="getNodes()">

</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值