JavaScript之DOM文档对象模型

1、DOM是文档对象模型(Document Object Model)的简称。

当网页加载时,可以将结构化文档在内存中转换成对象树。

简单的说,DOM并不是一种技术,而是一种访问结构化文档的思想。借助DOM模型,我们可以对DOM树进行修改、删除、新增等操作,让结构化文档动态化。

2、DOM模型中的节点--文档可以说是由节点构成的集合。在DOM模型中有以下3种节点:

(1)元素节点:各种标签就是这些元素节点的名称,如<ul>、<p>等;

(2)文本节点:文本节点总是被包含在元素节点的内部;

(3)属性节点:一般用来修饰元素节点的就称之为属性节点。

3、DOM对HTML元素的访问操作:

为了动态地修改HTML元素,须先访问HTML元素。DOM主要提供了两种方式来访问HTML元素:

(1)根据ID访问HTML元素--通过document对象调用getElementById()方法来查找具有唯一id属性值的元素;

如下例子:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="name" content="content">
        <title>DOM-使用getElementById方法查找元素</title>
        <script type="text/javascript">
            function showContent(){
                var myDiv,content,txtName;
                with(document){
                    myDiv=getElementById("myDiv");
                    content=getElementById("content");
                    txtName=getElementById("txtName");
                }
                alert(myDiv.innerHTML+"\n"+content.value+"\n"+txtName.value);
            }
        </script>
    </head>
    <body>
        <div id="myDiv">我的div块</div>
        <textarea id="content" rows="3" cols="25">好好学习,天天向上</textarea><br>
        <input type="text" id="txtName" value="chen"><br>
        <input type="button" id="btn_show" value="访问3个元素的内容" onclick="showContent()"><br>
    </body>
</html>

(2)利用节点关系访问HTML元素。常用的属性和方法如下:

parentNode:返回当前节点的父亲节点;
previousSibling:返回当前节点的前一个兄弟节点;
nextSibling:返回当前节点的后一个兄弟节点;
childNode:返回当前节点的所有子节点;
firstChild:返回当前节点的第一个子节点;
lastChild:返回当前节点的最后一个子节点;
getElementsByTagName(tagName):返回当前节点的具有指定标签名的所有子节点。

如下例子:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title></title>
        <style type="text/css">
            #n4{color:red;}
        </style>

    </head>
    <body>
        <ul id="names">
            <li id="n1">Bob</li>
            <li id="n2">PJ</li>
            <li id="n3">Teddy</li>
            <li id="n4">Chariel</li>
            <li id="n5">Gabe</li>
            <li id="n6">Dorra</li>
        </ul>
        <input type="button" value="父节点" onclick="showContent(current.parentNode)">
        <input type="button" value="第一个子节点" onclick="showContent(current.parentNode.firstChild.nextSibling)">
        <!--注意:在火狐谷歌浏览器里面,换行也会被认为是子节点,
        如果没有加nextSibling,在火狐谷歌浏览器输出的结果会是undefined-->
        <input type="button" value="上一个节点" onclick="showContent(current.previousSibling.previousSibling)">
        <input type="button" value="下一个节点" onclick="showContent(current.nextSibling.nextSibling)">
        <input type="button" value="最后一个子节点" onclick="showContent(current.parentNode.lastChild.previousSibling)">
        <input type="button" value="得到所有li元素的个数" onclick="showCount()">

        <script type="text/javascript">
            var current=document.getElementById("n4");
            function showContent(target){
                alert(target.innerHTML);
            }
            /*若是将JavaScript代码放在head标签中,那么会报错:Cannot read property ‘parentNode‘ of null
              因为JavaScript是解析执行的,HTML会从上面的标签往下执行,
              语句“var current=document.getElementById("n4");”没有放在函数中,还没有解析到ul标签,就去找n4了,
              所以会出错。解决方法之一是将JavaScript代码放在最后面,就是放在</body>前面。
              还有一种解决方法就是先让HTML结构加载完毕之后再执行。
            */
           function showCount(){
                alert(document.getElementsByTagName("li").length);
           }
        </script>
    </body>
</html>
时间: 2024-08-08 12:19:35

JavaScript之DOM文档对象模型的相关文章

js基础,DOM 文档对象模型

DOM 文档对象模型 DOM (document object model) 文档对象模型,它定义了操作文档对象的接口. DOM 把一份html文档表示为一棵家谱树,使用parent(父), child(子), sibling(兄弟)等记号 来表明家庭成员之间的关系. 一.节点 节点(node) 一词来自于网络理论,这代表着网络中一个个的连接点,网络是由节点构成的. 对于html文档也是一样,文档是由节点构成的集合. 1.元素节点 元素节点如 <body> <p> <div&

xml.dom——文档对象模型API

文档对象模型,或者"DOM",是一个跨语言API的World Wide Web Consortium(W3C)来访问和修改XML文档.DOM的实现提供了一个XML文档树结构,或允许客户机代码从头开始建立这样一个结构.然后给访问结构通过一组对象提供著名的接口. 模块内容 xml.dom包含以下功能: xml.dom.registerDOMImplementation(name,factory) 注册factory函数名称的名称.factory函数应该返回一个对象实现 DOMImpleme

JavaScript学习总结(一)DOM文档对象模型

一.文档(D) 一个网页运行在浏览器中,他就是一个文档对象. 二.对象(O) "对象"是一种自足的数据集合.与某个特定对象相关联的变量被称为这个对象的属性,只能通过某个对象调用的函数被称为这个对象的方法. JavaScript中有三种类型的对象: ①用户自定义对象:不做了解 ②内建对象(native object):JavaScript中一开始就存在的.列如Array,Math,Date等(JavaScript语法区分大小写) ③宿主对象(host object):由浏览器提供的对象.

JavaScript学习笔记7 之DOM文档对象模型

一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.DOM树中的所有节点均可通过JS进行访问.所有HTML元素(节点)均可被修改.创建或删除. 二.节点类型1.节点类型 HTML 文档中的所有内容都是节点(node): 整个文档是一个文档节点每个 HTML 元素是元素节点HTML 元素

09.05 javascript 属性 内置属性 自定义属性 DOM文档对象模型

# 属性 ### 内置属性 * js对象和html标签有映射关系 ### 自定义属性 * getAttribute() * setAttribute() * hasAttribute() * removeAttribute() ### H5新增的自定义属性操作操作 * HTML:  `<tag data-attr="">` * JS :  element.dataset.attr ### 把属性当做属性节点 * getAttributeNode(attrname) # 元素

JS第二部分--DOM文档对象模型

DOM 一.DOM的概念 Document Object Model文档对象模型 万事万物皆对象: (DOM树中一切皆节点,节点是一个标签) document对象 | html对象 | | head对象 body对象 | | | | | | | | ...... DOM对象产生是为了让js操纵文档 对象有属性和方法 二.DOM可以做什么 1.找到元素节点(获取DOM) 2.设置标签属性值(对标签属性的操作) 3.设置标签的样式(对样式的操作) 4.设置标签的值 5.动态的创建和删除元素(对DOM

DOM文档对象模型

 DOM文档对象模型   1.DOM对象分为:  a.Document对象: b.Element对象: c.Node对象: 2.DOM发展级别: DOM有4个级别,分别为: a.DOM 0 级:定义Document对象的一些属性和方法: b.DOM 1 级: c.DOM 2 级: d.DOM 3 级: 注:第 0 级和第 3 级不是W3C的官方标准: 3.DOM组成:  a.Core DOM:也称核心DOM编程,定义标准针对任何结构文档的对象: b.XML DOM:定义一套标准的针对 XML 文

005_01文档对象模型DOM

DOM:document object model  文档对象模型.是W3C织制订的一套用于访问XML和HTML文档的标准.允许脚本动态地访问和更新文档的内容.结构和样式. W3C DOM 标准被分为 3 个不同的部分: 核心 DOM - 针对任何结构化文档的标准模型 XML DOM - 针对 XML 文档的标准模型 HTML DOM - 针对 HTML 文档的标准模型 左边为HTML文档树,右边为结构树示意图 XML DOM 定义了访问和处理 XML 文档的标准方法. HTML文档格式 符合X

JavaScript : DOM文档解析详解

JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> Don’t forget to buy this stuff.</p> 节点及其类型 元素节点: 属性节点:元素的属性,可以直接通过属性的方式来操作 文本节点:元素节点的子节点,其内容通常为文本 2.Node接口的特性和方法 现在给出一个演示的HTML文件: html <!doctype h