Javascript知识四(DOM)

原文:Javascript知识四(DOM)

 【箴 10:4】 手懒的,要受贫穷;手勤的,却要富足。 He becometh poor that dealeth with a slack hand: but the hand of the diligent maketh rich.

O(∩_∩)O~~ 昨天总结了《Javascript知识三》后忘记发布了,呵呵,最近我的忘性很大啊O(∩_∩)O~~,今天是练习,所以把这周还未总结的写下来,和大家一起分享交流。

首先,还是先把function剩下的总结下;

函数的自定义:

例如这道题,是定义一个数组,数组里的属性可以直接赋值,这里的SayHi作为数组的属性来用

<script>

    var p = {
        name: "Apphia",
        age: 20,
        gender: true,
     SayHi: function () 

         {

            //alert(this);//打印出[object Object]

                  return this.name;//这里的this指的是当前数组中的name 

              }
    };
    alert(p.SayHi());    //打印出名字Apphia

    </script>

 

 

 

DOM(Document Object Model)

DOM中的“D”:文档,如果没有document(文档),Dom就无从谈起。Dom把编写的网页文档转换为一个文档对象

DOM中的"O":对像,“对象”是一种自足的数据集合,js中的对象可以分为三种:用户定义对象(自行创建的),内建对象(内建在js语言里的对象,如Array,Date等),宿主对象(由浏览器提供的)

DOM中的“M”:模型,含义是某种事物的表现形式。

节点:网络中的一个连接点。一个HTML文档就是一个节点树。在DOM操作中有许多不同类型的HTML标签组成一个个的节点,每一个节点又是一个对象

节点分为三种:

  • 元素节点 :HTML标签
  • 文本节点:元素节点里包含的文本
  • 属性节点:HTML标签里定义的属性

 

获取元素:

  • 根据标签获取:         getElementByTagName()      返回数组

 

<div><span>歌手</span> 囚鸟 <span>歌名</span></div>
    <script>

        var div = document.getElementsByTagName("div"); //根据标签名获取
        alert(div.length);         //获取长度,这里显示4
        for (var i = 0; i < div1.length; i++) {

            alert(div1[i].innerHTML);    //打印出 <span>歌手</span> 囚鸟 <span>歌名</span>
        }
       </script>

 

  • 根据name属性获取:getElementsName ()             返回数组

 

<body>
   <div name="div1">水果</div>

     <div name="div1">APPLE</div>

    <script>

        var div2 = document.getElementsByName("div1");//根据name属性来获取

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

            alert(div2[i].innerHTML);

        }
       // ————————————打印出水果、APPLE

    </script>
</body>

 

 

 

  • 根据calss属性获取: getElementsByClassName() 返回数组

 

    <div class="div2">鲜花</div>

    <script>

        var div = document.getElementsByClassName("div2"); //根据class属性来获取
        for (var i = 0; i < div.length; i++) {

            alert(div[i].innerHTML);
        }
        //————————————打印出鲜花

    </script>

 

 

 

  • 根据元素ID属性获取:getElementById()                 返回的是单个值
<div id="div">Wellcome to xxx</div>
    <script>

        var divadd = document.getElementById("div")
        alert(divadd.innerHTML);    //打印出Wellcome to xx
    </script>

 

  • 根据选择器获取querySelector()  返回数组

 

<div>柳树</div>

    <script>

        var div = document.querySelector(".div");       //根据选择器来获取

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

            alert(div[i].innerHTML);

        }
    </script>

 

 

 

注:获取文本节点:先抓取元素在去找到文本节点

innerHTML:获取HTML和文本                             innerText: 获取纯文本(但只在IE浏览器下使用)

 

 

获取属性节点:先抓取元素在去抓取属性   getAttribute()

 

 

 <div id="div" class="divclass" name="divname">

    <script>

        var div = document.getElementById("div");  //先获取元素节点

        var divAttibute = div.getAttribute("name");

        alert(divAttibute);

    </script>

 

修改属性节点:setAttribute()

 

 <div id="div" class="divclass" name="divname">

       <script>

           var div = document.getElementById("div");//先获取元素节点

           div.setAttribute("name", "MYDIV");     

           var divAttibute = div.getAttribute("name");

           alert(divAttibute);

       </script>

 

 

查看子节点长度,节点类型,节点名称,节点文本内容

 

<div id="outdiv">外层的DIV

        <div id="centerdiv">中层的DIV

            <div id="innerdiv">内层DIV</div>

        </div>

        最后一个空白节点
    </div>
 <script>
        var divlengh = div.childNodes.length;       //查看子节点长度
        var divchild = div.childNodes;
        alert(divlengh);

        //查看子节点类型
        for (var i = 0; i <divchild.length; i++) {

            alert(divchild[i].nodeType);//打印出 3 1 3(3:文本节点  1:元素节点)
        }

        //查看子节点名称
        for (var i = 0; i < divchild.length; i++) {

            alert(divchild[i].nodeName);
        }

        //查看节点文本内容(只显示文本信息,非文本显示NULL)
        for (var i = 0; i < divchild.length; i++) {

            alert(divchild[i].nodeValue);
        }

    </script>

 

注:还有常用的  firstchild(第一个字节点)  和  lastchild(最后一个字节点) 两个属性

 

 

动态创建节点: 

  •  innerHTML(创建文本元素)

 

<div id="textdiv"></div>

    <script>

        document.getElementById("textdiv").innerHTML = "动态添加";  //打印出 动态添加

</script>

 

 

  • wirte

 

<div id="div"></div>

    <script>

        var divadd = document.getElementById("div");
       // write
        document.write("<p>HELLO</P>");  //动态产生p标签

        function inserp() //或封装成方法
        {
            var str = "<p>";
            var text = "萨瓦迪卡";
            var str1 = "</p>";
            return str + text + str1;
        }
        document.write(inserp());  //write通常用于大规模处理

    </script>

 

 

createElement(创建元素节点)  createTextNode(创建文本节点)  appendChild(追加子节点)

 <div id="outdiv">外层的DIV

        <div id="centerdiv">中层的DIV

            <div id="innerdiv">内层DIV</div>

        </div>

        最后一个空白节点
    </div>
  <script>

        var div = document.getElementById("outdiv");//先获取父节点
        //追加节点
        var p = document.createElement("p"); //1  首先创建元素节点

        var text = document.createTextNode("。。。。。。。。。。。。。。。");  //创建一个文本节点

        p.appendChild(text);//文本节点追加到父节点

        div.appendChild(p);//将元素节点p追加到父节点div中

        var adddiv = document.getElementById("div").appendChild("div"); //使用

        </script>

 

O(∩_∩)O~~因为要赶车,所以今天只能先写到这了,剩下的内容下次在继续总结!加油!~~

 

时间: 2024-10-23 18:14:55

Javascript知识四(DOM)的相关文章

JavaScript中对DOM节点的访问、创建、修改、删除_基础知识

DOMDOM就是Document object Model的缩写.文档对象模型是把XML或HTML以树节点为表现形式的文档.用DOM方法和属性,你可以访问,修改,删除页面上任意一个元素,也是可以添加一个元素.DOM是独立于语言的API,可以被任意语言所实现,当然也包括了Javascript 看看下面的一个文本. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x

Javascript知识三

原文:Javascript知识三 O(∩_∩)O...今天继续学习了Javascript的知识,下面就总结一下. 数组: 判断是否为数组(instanceof Array) 在JavaScript中,数组不一定是同一类型 var array = ["Hello", 18, true]; if (array instanceof Array) //判断是否为数组 { alert("OK"); } shift和unshift shift:仅仅输出数组中第一项,即索引为0

JavaScript利用HTML DOM进行文档操作的方法_javascript技巧

HTML DOM 树 一.DOM简介 DOM是W3C制定的用于访问诸如XML和XHTML等结构化文档的标准. W3C文档对象模型(DOM)是一个使程序和脚本有能力动态地访问和更新文档的内容.结构以及样式的平台和语言中立的接口 核心DOM:用于任何结构化文档的标准模型 XML DOM:用于XML文档的标准模型.是用于获取.更改.添加或删除XML元素的标准. HTML DOM: 用于HTML文档的标准模型.定义了所有HTML元素的对象和属性,以及访问它们的方法(接口). 二.DOM节点 根据DOM规

Javascript实例教程:DOM方法创建和修改表格

文章简介:Javascript实例教程:DOM方法创建和修改表格. <table>元素是HTML中最复杂的结构之一.要想创建表格,一般都必须涉及表示表格行.单元格.表头等方面的标签.由于涉及的标签多,因而使用核心DOM方法创建和修改表格往往都免不了要编写大量的代码.假设我们要使用DOM来创建下面的HTML表格: <table border="1" width="100%"> <tbody> <tr> <td>

Javascript知识——事件

原文:Javascript知识--事件 O(∩_∩)O~~又是新的一周开始了,今天还是在继续学习Javascript知识,今天主要讲了事件的知识.现在就总结下吧.   事件 事件一般是用于浏览器和用户操作进行交互.最早是 IE 和 Netscape Navigator 中出现,作为分担服务器端运算负载的一种手段. 直到几乎所有的浏览器都支持事件处理. 而 DOM2级规范开始尝试以一种复合逻辑的方式标准化 DOM 事件.IE9.Firefox.Opera.Safari 和Chrome 全都已经实现

JavaScript实现获取dom中class的方法_javascript技巧

本文实例讲述了JavaScript实现获取dom中class的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <script> function getClass(node,classname) { if(node.getEle

JavaScript知识(二)

原文:JavaScript知识(二)  你要保守你心,胜过保守一切,因为一生的果效,是由心发出的.----O(∩_∩)O... ...O(∩_∩)O...老师因有事下午没来上课,今天就只把中午讲的知识总结一下.由于昨天只是讲了JavaScript的一些基础入门知识点,所以今天就详细地总结一下Javascript的基础. Javascript语言组成: ECMAScript:描述了该语言的语法和基本对象. DOM(Document Object Model):文档对象模型,描述处理网页内容的方法和

javascript系列之DOM(一)

原文:javascript系列之DOM(一)      DOM(document object moudle),文档对象模型.它是一个中立于语言的应用程序接口(API),允许程序访问并修改文档的结构,内容和样式.也就是一切语言(js,php 等)对web的操作是建立在DOM的基础之上的.行为的发生,首先必须获取文档中的一个对象作为其载体. DOM发展史      在漫长的互联网发展史上DOM一共经历了四个阶段.当前,我们正处在DOM 3阶段. DOM 0 :不是W3C规范,只是Netscape

浅析javascript中的DOM

本文主要给大家简单介绍了是什么是DOM.动态操作DOM元素的方法.使用jsjs操作样式以及Form对象的简介,是个人对于javascript中的DOM的理解的总结,推荐给小伙伴们. 什么是Dom? 1.简介 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.Document Object Model的历史可以追溯至1990年代后期微软与Netscape的"浏览器大战",双方为了在JavaScript与JScrip