DOM基础

合集下载

DOM基础

DOM基础

文档对象
document 描述当前窗口或指定窗口对象的文 档。它包含了从<head>到</body>的内容。
松迪科技(北京)有限公司
文档对象
document属性 lastModified 文档最后修改日期,是一个 Date 对象。 referrer 如果文档通过点击连接打开,则 referrer 返回原来的 URL。 title <title>...</title>定义的文字。 fgColor <body>的 text 属性所表示的文本颜色。 bgColor <body>的 bgcolor 属性所表示的背景颜色。 linkColor <body>的 link 属性所表示的连接颜色。 alinkColor <body>的 alink 属性所表示的活动连接颜色。 vlinkColor <body>的 vlink 属性所表示的已访问连接颜色。
松迪科技(北京)有限公司
event对象
altKey 检索ALT键的当前状态 可能的值 true为关闭 false为不关闭 button 检索按下的鼠标键 可能的值: 0 没按键 1 按左键 2 按右键 3 按左右键 4 按中间键 5 按左键和中间键 6 按右键和中间键 7 按所有的键
松迪科技(北京)有限公司
松迪科技(北京)有限公司
窗口对象
close() 关闭一个已打开的窗口。 blur() 使窗口变为“非活动窗口”。 focus() 使窗口变为“活动窗口”。 scrollTo() [<窗口对象>.]scrollTo(x, y);使窗 口从左上角数起的(x, y)点滚动到窗口的左上 角。 scrollBy() [<窗口对象>.]scrollBy(deltaX, deltaY);使窗口向右滚动 deltaX 像素,向下 滚动 deltaY 像素。如果取负值,则向相反的 方向滚动。

DOM基础语法

DOM基础语法

DOM基础语法1.识别节点的类型与名称:每个节点都有nodeType(节点类型)与nodeName(节点名)属性<a href="#">hi</a>console.log(document.querySelector('a').nodeName, document.querySelector('a').nodeType);//A// 1 ELEMENT_NODE nodeType为1;<a href="#">hi</a>console.log(document.querySelector('a').firstChild.nodeName, document.querySelector('a').firstChild.nodeType);//A// 3 TEXT_NODE nodeType为3;所以判断⼀个元素是否为element节点console.log(document.querySelector('a').nodeType === 1);// true或者使⽤Node.ELEMENT_NODE来检查:console.log(document.querySelector('a').nodeType === Node.ELEMENT_NODE);// true2.获取节点的值console.log(document.querySelector('a').nodeValue);console.log(document.querySelector('a').firstChild.nodeValue);// null;// hi绝⼤多数的节点类型(除了Text和Comment)的nodeValue属性都返回null。

jsdom基础练习题

jsdom基础练习题

jsdom基础练习题jsdom是一个用于在Node.js环境中模拟浏览器环境的库,它可以让我们在服务器端运行和测试前端JavaScript代码。

本文将介绍一些jsdom基础练习题,帮助你巩固对jsdom的理解和运用。

1. 创建一个简单的HTML文档在使用jsdom之前,我们需要创建一个简单的HTML文档作为测试基准。

请使用以下代码创建一个名为index.html的文件,并输入如下内容:```html<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>jsdom练习</title></head><body><div id="container"><h1>这是一个测试</h1><p>这是一个段落</p><ul><li>列表项1</li><li>列表项2</li><li>列表项3</li></ul></div></body></html>```2. 使用jsdom加载HTML文档安装jsdom并引入它:```bashnpm install jsdom``````javascriptconst jsdom = require("jsdom");const { JSDOM } = jsdom;const html = fs.readFileSync("./index.html", "utf-8"); const dom = new JSDOM(html);```通过以上代码,我们成功将HTML文档加载到了`dom`对象中,接下来我们就可以使用jsdom提供的各种方法对文档进行操作。

DOM基础

DOM基础

DOM 基础什么是 DOM?通过 JavaScript,您可以重构整个 HTML 文档。

您可以添加、移除、改变或重排页面上的项目。

要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。

这个入口, 连同对 HTML 元素进行添加、 移动、 改变或移除的方法和属性, 都是通过文档对象模型来获得的 (DOM) 。

在 1998 年, W3C 发布了第一级的 DOM 规范。

这个规范允许访问和操作 HTML 页面中的每一个单独 的元素。

所有的浏览器都执行了这个标准,因此,DOM 的兼容性问题也几乎难觅踪影了。

DOM 可被 JavaScript 用来读取、改变 HTML、XHTML 以及 XML 文档。

DOM 被分为不同的部分(核心、XML 及 HTML)和级别(DOM Level 1/2/3): Core DOM 定义了一套标准的针对任何结构化文档的对象 XML DOM 定义了一套标准的针对 XML 文档的对象 HTML DOM 定义了一套标准的针对 HTML 文档的对象。

HTML 文档中的每个成分都是一个节点。

节点根据 DOM,HTML 文档中的每个成分都是一个节点。

DOM 是这样规定的: 整个文档是一个文档节点  每个 HTML 标签是一个元素节点  包含在 HTML 元素中的文本是文本节点  每一个 HTML 属性是一个属性节点  注释属于注释节点Node 层次节点彼此都有等级关系。

HTML 文档中的所有节点组成了一个文档树(或节点树)。

HTML 文档中的每个元素、属性、文本等都代 表着树中的一个节点。

树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节 点为止。

下面这个图片表示一个文档树(节点树):一棵节点树中的所有节点彼此都是有关系的。

文档树(节点数)请看下面这个 HTML 文档: <html> <head> <title>DOM Tutorial</title> </head> <body> <h1>DOM Lesson one</h1> <p>Hello world!</p> </body> </html>上面所有的节点彼此间都存在关系。

dom 笔试题

dom 笔试题

DOM(Document Object Model)相关的笔试题主要考察的是对JavaScript和Web 标准的基础知识。

以下是一些可能的DOM相关笔试题:1.什么是DOM?2.DOM的结构是什么?3.什么是DOM树?4.描述一下DOM的事件模型。

5.什么是事件冒泡?6.什么是事件捕获?7.什么是事件代理?8.什么是元素的innerHTML属性?9.什么是元素的textContent属性?10.如何改变一个元素的样式?11.如何添加一个新的元素到DOM中?12.如何删除一个元素?13.如何修改一个元素的属性?14.如何获取一个元素的属性值?15.什么是元素的classList属性?如何使用它来添加、删除和切换元素的类名?16.描述一下DOM中的this关键字的含义。

17.什么是DOM的load事件?18.什么是DOM的unload事件?19.什么是DOM的click事件?20.什么是DOM的mouseover事件?21.什么是DOM的mouseout事件?22.什么是DOM的keydown事件?23.什么是DOM的keyup事件?24.什么是DOM的keypress事件?25.描述一下JavaScript中的事件委托。

26.什么是DOM的遍历方法,如何使用它们来操作DOM元素?27.什么是DOM的修改方法,如何使用它们来操作DOM元素?28.什么是DOM的属性方法,如何使用它们来操作DOM元素的属性?29.描述一下JavaScript中的事件对象。

30.如何使用JavaScript来检查一个元素是否存在于DOM中?31.如何使用JavaScript来获取一个元素的父元素或子元素?32.如何使用JavaScript来获取一个元素的下一个或上一个兄弟元素?33.如何使用JavaScript来比较两个元素的节点类型或节点名称?34.如何使用JavaScript来创建新的DOM元素或文本节点?35.如何使用JavaScript来插入一个新的子元素或孙子元素到DOM中?。

dom化学

dom化学

dom化学
DOM(Dominant Organic Matter)顽强有机物,又称主要有机物,是一种能够通过酶催化活性化的有机物,在土壤中,它们是植被作物和植物的生长的基础,DOM在农业生产中也被广泛应用。

DOM原理:DOM的原理是利用其内部有机物和微生物之间的协同作用来活化土壤有机质并使之更适宜植物生长。

DOM的内部有机物质能够吸收太阳能,转化为释放的热量,它包含氮、磷、钾等微量元素,能够改善土壤有机质的结构,从而改善土壤肥力和种植植物。

应用:在农业生产中,DOM能够活化土壤,改善它的结构,增加土壤有机质含量,提高农作物的抗逆性,降低土壤污染,促进植物生长。

此外,DOM也可以作为植物病虫害的预防手段,可以有效抑制病原体的滋生。

DOM的安全性:DOM不仅在植物生长和农业生产中有着重要的作用,而且具有良好的安全性。

DOM不含有毒化学物质,被归类为安全物质,同时也是一种循环利用的物质,可以减少与农作物有关的有毒化学物质对环境的污染。

总结:DOM具有良好的活性,能够活化土壤中营养和有机物,使植物生长更加适宜,使土壤质量得到大幅度改善,同时也是一种安全的绿色化学物质,减少对环境的污染,受到越来越多人的关注和应用。

什么是4D(DRG、DLG、DOM、DEM)数据

什么是4D(DRG、DLG、DOM、DEM)数据

什么是4D(DRG、DLG、DOM、DEM)数据1,DOM ,利⽤数字⾼程模型对扫描处理的数字化的航空相⽚、遥感影像抄,经逐个像元纠正,按图幅范围裁切⽣成的影像数据。

百DOM 是需要DEM进⾏⼆次加⼯的,也是4D产品中最为⾼级的产品。

2,DEM ,通过等⾼线、或航空航天影像建⽴以表达地⾯⾼程起伏形态的数字集合。

DEM数据为基础数据。

3,DRG,是纸制地形图的栅格形式的数字化产品,可与DOM、DEM集成派⽣出新的可视信息。

4,DLG,利⽤航空航天影像通过对影像进⾏识别和⽮度量化,建⽴基础地理要素分层存储的⽮量数据集,既包括空间信息也包括属性信息,可⽤于各专业信息系统的空间定位基础。

⼀、 DOM (图):利⽤数字⾼程模型对扫描处理的数字化的航空相⽚、,经逐个像元纠正,按图幅范围裁切⽣成的影像数据,它的信息⽐较直观,具有良好的可判读性和可量测性,从中可直接提取⾃然地理和社会经济信息。

在SAR图像处理中,往往需借助DEM数据来解决RD定位导致的斜距成像⼏何失真。

因此,求解X,Y,Z考虑了三个⽅程。

即距离公式、多普勒频率公式和地球坐标公式。

也就是说DOM是需要DEM 进⾏⼆次加⼯的,也是4D产品中最为⾼级的产品。

DEM (数字⾼程模型) :通过等⾼线、或影像建⽴以表达地⾯⾼程起伏形态的数字集合。

⽬前可得到的有90m的SRTM,和30m的Aster GDTM数据。

前者采⽤InSAR技术获取,后者则是⾼分辨率⽴体摄影测量技术。

两者相似之处都需要两幅图像,⽽且精确配准。

需要有⼀定的基线长度,需在⼀定范围内取值。

不同之处,前者是利⽤波的相⼲性原理求得,后者则是光直线传播所产⽣的共线⽅程。

DEM数据为基础数据。

DRG (数字栅格地图) :数字栅格地图是纸制地形图的栅格形式的数字化产品,可与DOM、DEM集成派⽣出新的可视信息。

该类型数据主要是将已有的纸质地图进⾏栅格化,然后配准,⽬前这类图很少⽤到,多⽤⾼分辨率的影像来取代,或者就是将主要地物进⾏⽮量化表征和存储,⽬前⼤多数的都⽀持这⼀功能。

B O M 入 门 基 本 常 识

B O M 入 门 基 本 常 识

JavaScript 入门哪本书最好?(问、答) 《转载》司徒正美,JS魔法师,去哪儿网前端架构师知乎用户、zinwa.lin、Yang?等人赞同入门可以看《javascript高级程序设计》与《javascript dom 编程艺术》尤其是后者,真是好书。

我以前看了许多视频,翻那本很厚的指南与高程,最后还是靠《javascript dom 编程艺术》激发我学习兴趣入门。

看了三四次《javascript高级程序设计》就可以看蝴蝶书《javascript语言精辟》,这是讲JS的语法设计,那些语法应该用,那些不应该用(如==、 with、 eval、 argument.caller),这提高你的代码质量必不可少。

如果你想写一个插件或一个库,就要涉及大量DOM,BOM知识了。

毕竟javascript是胶水语言,而CSS与HTML在JS里都会映射为DOM,此外还有一些涉及浏览器的东西,叫BOM。

掌握各大浏览器提供的底层DOM、BOM API,及了解它们之间的差异,如何检测它们是否支持,如果屏蔽它们之间的差异性,如何选用最佳的API是我们成为高手的关键。

《PPK 谈 Javascript》,主要是说DOM的兼容性与可用性问题。

《JavaScript DOM高级程序设计》,这本非常优秀,不知为何被理没了(也可能是出版社的缘故,很早就买断货就不知道补课),我在这里了解许多操作CSS的API。

《JavaScript框架设计》这完全是本面向中高级的书,涉及一般书没有讲解过的模块加载器,事件管理系统,选择器引擎,异步列队,动画引擎,及时下日益流行的MVVM架构。

《数据结构与算法JavaScript描述》,越复杂的系统,最后都在架构与算法与数据结构上下功夫,虽然用得不多,但作为一个高手,算法不精真是一个痛点。

比较实现一个选择器引擎,人家都会问你比jQuery的快吗?加之JS 在这方面也有它的特殊点,因此还得学习。

时下也有许多angular与backbone的书,我本人认为他们基本上照搬官网的API文档,很少能讲到底层的实现,能获得的知识点太少了,它们只能用于入门(你英语不好的话),因此不建议入。

Dom技术基础

Dom技术基础

Dom技术基础DOM技术DOM Level1:对文档节点进行访问以及增,删,改Node接口定义了一些所有节点类型都包含的特性和方法1.访问相关节点<html><head><title>DOM Example</title></head><body><p>Hello World!</p><p>Isn't this exciting!</p><p>You're learning to use the DOM!</p></body></html>访问<html/>元素:var oHtml = document.documentElement;取得<head/>元素:var oHead = oHtml.firstChild; /var oHead = oHtml.childNodes[0]; /var oHead = oHtml.childNodes.item(0);取得<body/>元素:var oBody = document.body;var oBody = stChild; /var oBody = oHtml.childNodes[1]; /var oBody = oHtml.childNodes.item(1);取得子节点数量:var length = oHead.childNodes.length;确定<html/> <head/> <body/>之间的关系:alert(oHead.parentNode == oHtml); //outputs "true"alert(oBody.parentNode == oHtml); //outputs "true"alert(oHead.nextSubling == oBody); //outputs "true"alert(oBody.previousSubling == oHead); //outputs "true" alert(oHead.ownerDocument == document); //outputs "true"2.处理特性<p style="color:red" id="p1">Hello world!</p>获取id特性值:var oP = document.getElementById("p1");var sId = oP.getAttribute("id"); 或var sId = oP.attributes.getNamedItem("id").nodeValue; 或var sId = oP.attributes.item(1).nodeValue;设置id特性值:var oP = document.getElementById("p1");oP.setAttribute("id") = "newId";oP.attributes.getNamedItem("id").nodeValue = "newId"; oP.attributes.item(1).nodeValue = "newId";3.访问指定节点3.1)XML DOM的getElementBy TagName();获取文档中第3个img元素:var oImgs = document.getElementBy TagName("img");var oneImg = oImgs[2];或var oneImg = oImgs.item(2);获取页面第一段落的所有图像:var oP = document.getElementBy TagName("p").item(0);var oImgs = oP.getElementBy TagName("img");3.2)HTML DOM的getElementBy Name();<html><head>DOM Example</head><body><form method="post" action="dosomething.cgi"><fieldset><legend>What color do you like?</legend><input type="radio" name="radColor" value="red"/>Red<br/><input type="radio" name="radColor" value="Green"/>Green<br/> <input type="radio" name="radColor" value="Blue"/>Blue<br/></fieldset></form></body></html>获得所有单选按钮的引用:var oRadios = document.getElementBy Name("radColor");获得单个单选按钮的颜色:alert(oRadios[0].getArrribute("value")); //outputs "Red"3.3)HTML DOM的getElementById()<html><head>DOM Example</head><body><p>Hello World!</p><div id="div1">This is my first layer</div></body></html>访问id为"div1"的</div>元素:HTML DOMvar oDiv1 = document.getElementById("div1"); /XML DOMvar oDivs = document.getElementBy TagName("div");var oDiv1 = null;for(int i=0; i<oDivs.length; i++){if(oDivs[i].getAttribute("id") == "div1"){oDiv1 = oDivs[i];break;}}4创建和操作节点假设有如下页面:<head><title>createElement() Example</title></head><body></body></html>4.1)createElement()、createTextNode()、appendChild()使用DOM添加<p>Hello World!</p>到这个页面中:<html><head><title>createElement() Example</title><script type="text/javascript">function createMessage(){var oP = document.createElement("p");var oText = document.createTextNode("Hello World!"); oP.appendChild(oText);document.body.appendChild(oP);}</script></head><body onload="createMessage()"></body></html>4.2)removeChild()假设已有一个包含Hello World!消息的页面.移除消息:<head><title>removeChild() Example</title><script type="text/javascript">function removeMessage(){var oPs = document.getElementBy TagName("p");var oP = oPs[0];oP.parentNode.removeChild(oP)}</script></head><body onload="removeMessage()"><p>Hello World!</p></body></html>4.3)replaceChild()假设已有一个包含Hello World!消息的页面.用<p>Hello Universe!</p>替换消息:<html><head><title>replaceChild() Example</title><script type="text/javascript">function replaceMessage(){var oNewP = document.createElement("p");var oText = document.createTextNode("Hello Universe!"); oNewP.appendChild(oText);var oOldP = document.getElementBy TagName("p")[0]; oOldP.parentNode.replaceChild(oNewP,oOldP);}</script></head><body onload="replaceMessage()"><p>Hello World!</p></body></html>4.4)insertBefore()假设已有一个包含Hello World!消息的页面.让<p>Hello Universe!</p>出现在此消息之前:<html><head><title>insertBefore() Example</title><script type="text/javascript">function insertMessage(){var oNewP = document.createElement("p");var oText = document.createTextNode("Hello Universe!"); oNewP.appendChild(oText);var oOldP = document.getElementBy TagName("p")[0]; oOldP.parentNode.insertBefore(oNewP,oOldP);}</script></head><body onload="replaceMessage()"><p>Hello World!</p></body></html>4.5)createDocumentFragment()一次刷屏代替多次刷屏var arrText = ["first","second","third","fourth","fifth"];var oFragment = document.createDocumentFragment();for(var i=0;i<arrText.length;i++){var oP = document.createElement("p");var oText = document.createTextNode(arrText[i]);oP.appendChild(oText);oFragment.appendChild(oP);}document.body.appendChild(oFragment.appendChild(oFragment));这里对appendChild()的调用实际上并不是把文档碎片节点本身追加到</body>元素中;而是仅仅追加碎片中的子节点。

dom生成流程

dom生成流程

dom生成流程一、DOM简介DOM(Document Object Model)是一种用于表示和操作HTML 或XML文档的标准化的编程接口。

通过DOM,我们可以以树状结构的形式来表示文档,每个节点代表文档中的一个元素、属性或文本。

DOM提供了一套方法和属性,使我们能够对文档进行增删改查的操作。

二、DOM生成流程DOM的生成流程可以分为以下几个步骤:1. 解析HTML/XML文档:DOM的生成过程通常始于解析HTML 或XML文档。

解析器会读取文档,将其转换为一个DOM树。

2. 创建根节点:解析器会先创建一个根节点,通常是一个文档节点(Document)。

3. 创建子节点:解析器会根据文档中的标签和内容创建子节点,如元素节点(Element)、文本节点(Text)、注释节点(Comment)等。

4. 建立父子关系:解析器会根据标签的嵌套关系,将创建的节点按照父子关系连接起来,形成一个完整的DOM树。

5. 添加属性:解析器会将标签的属性添加到相应的节点上,作为节点的属性。

6. 完成DOM树:解析器会继续解析文档中的其他部分,直到整个文档被解析完毕,形成一个完整的DOM树。

三、DOM的应用方法DOM生成后,我们可以通过以下方法来操作和使用DOM:1. 查询元素:可以使用getElementById、getElementsByClassName、getElementsByTagName等方法来查询DOM中的元素节点。

2. 修改元素:可以通过修改DOM节点的属性或内容来实现对元素的修改,如修改元素的文本内容、样式、属性等。

3. 添加元素:可以通过createElement、appendChild等方法来动态地创建元素节点并将其添加到DOM中。

4. 删除元素:可以通过removeChild方法来删除DOM中的元素节点。

5. 遍历DOM树:可以使用递归或迭代的方式来遍历整个DOM树,以实现对DOM的深度优先遍历或广度优先遍历。

第4章DOM基础及高级DOM

第4章DOM基础及高级DOM

第4章DOM基础及高级DOMDOM基础及高级DOM第4章DOM基础及高级DOM技术在前面的章节中,简要讲解了Ajax技术原理以及技术体系,Ajax技术是一种前台技术,良好的JavaScript基础是进行Ajax技术开发的关键。

在本章及后续几章里,将要学习JavaScript高级应用部分,为后续的Ajax开发课程打下良好的基础。

在本章中将要学习JavaScript 中,最重要的对象DOM,DOM对象可以使开发者将HTML页面作为XML (可扩展标记语言)文档处理和查看。

由于XML具有跨语言、跨平台的特征,DOM对象在Ajax技术中得到了广泛的使用。

DOM基础及高级DOM4.1 什么是DOM对象在本节中将要学习DOM对象的基础知识,如层次结构、特定的DOM对象等基础知识。

读者可以通过本节对DOM对象的学习有一个基本的概念。

DOM基础及高级DOM4.1.1 XML-无限数据传输讲解DOM对象就不得不提到XML,尽管在某种意义上DOM对象很大程度上受到DHTML的影响,但是W3C还是将DOM对象首先应用于XML。

XML是由早期的SGML(标准通用标记语言)派生出来的,SGML还派生出了HTML。

SGML是1986发布的信息管理国际标准(ISO 8879)。

SGML主要用于定义独立于平台的文档格式和索引、链接信息。

SGML为用户提供了一种类似语法的机制,用于定义文档的结构和指示文档的标签。

标签由一个包裹在””、””之间的文本组成,如myTag。

起始标签表示一个文档区域起始处如Start。

结束标签表示一个文档区域的结束,如/End。

结束标签由”/”,””包裹着文本构成。

注意结束标签中的文本必须与起始标签一致,即起始标签必须和结束标签配对。

SGML还允许在标签中定于特定于当前标签的特性,如”A href=”””。

读者一定发现这和HTML非常相似,HTML就是由SGML发展而来的。

DOM基础及高级DOM4.1.2 XML文档的节点层次XML文档在书写时遵循树形结构即DOM树。

第04章 文档对象模型(DOM)

第04章 文档对象模型(DOM)

第4章 文档对象模型(DOM)
4.1 DOM基础
2.getElementsByName() document.getElementsByName(name)该方法与 getElementById() 方法相似,但是它查询元 素的 name 属性,而不是 id 属性。因为一 个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属 性),所以 getElementsByName() 方法返回 的是元素节点的数组,而不是一个元素节点。 然后,我们可以通过要获取节点的某个属性 来循环判断是否为需要的节点。
第4章 文档对象模型(DOM)
4.1 DOM基础
DOM中的节点有Document、Element、 Comment、Type等不同类型,其中每一 个DOM树必须有一个Document节点,并 且为节点树的根节点。它可以有子节点 如Text节点、Comment节点等。 具体来讲, DOM 节点树中的节点有元 素节点、文本节点和属性节点等三种不 同的类型,
第4章 文档对象模型(DOM)
4.1 DOM基础
【例4-4】getElementById() 方法的使用。 <html> <head> <title>4-4</title> <script type="text/javascript"> function getValue() { var x = document.getElementById("myHeader") alert(x.innerHTML) } </script> </head> <body> <h1 id="myHeader" onclick="getValue()">这是标题 </h1> <p>点击标题,会提示出它的值。</p> </body> </html>

js基础之DOM中元素对象的属性方法详解

js基础之DOM中元素对象的属性方法详解

js基础之DOM中元素对象的属性⽅法详解在 HTML DOM (⽂档对象模型)中,每个部分都是节点。

节点是DOM结构中最基本的组成单元,每⼀个HTML标签都是DOM结构的节点。

⽂档是⼀个⽂档节点。

所有的HTML元素都是元素节点所有 HTML 属性都是属性节点⽂本插⼊到 HTML 元素是⽂本节点注释是注释节点。

最基本的节点类型是Node类型,其他所有类型都继承⾃Node,DOM操作往往是js中开销最⼤的部分,因⽽NodeList导致的问题最多。

要注意:NodeList是‘动态的',也就是说,每次访问NodeList对象,都会运⾏⼀次查询,虽然这样增加了开销,但可以保证我们新添加的节点都能在NodeList中访问的到。

所有的元素节点都有共⽤的属性和⽅法,让我们来详细看⼀看:先来看较为常⽤的通⽤属性1 element.id 设置或返回元素的 id。

2 element.innerHTML 设置或者返回元素的内容,可包含节点中的⼦标签以及内容3 element.innerText 设置或者返回元素的内容,不包含节点中的⼦标签以及内容4 element.className 设置或者返回元素的类名5 element.nodeName 返回该节点的⼤写字母标签名6 element.nodeType 返回该结点的节点类型,1表⽰元素节点 2表⽰属性节点……7 element.nodeValue 返回该节点的value值,元素节点的该值为null8 element.childNodes 返回元素的⼦节点的nodeslist对象,nodelist类似于数组,有length属性,可以使⽤⽅括号 [index] 访问指定索引的值(也可 以使⽤item(index)⽅法)。

但nodelist并不是数组。

9 element.firstChild/stChild 返回元素的第⼀个/最后⼀个⼦节点(包含注释节点和⽂本节点)10 element.parentNode 返回该结点的⽗节点11 element.previousSibling 返回与当前节点同级的上⼀个节点(包含注释节点和⽂本节点)12 element.nextSibling 返回与当前节点同级的下⼀个节点(包含注释节点和⽂本节点)13 element.chileElementCount : 返回⼦元素(不包括⽂本节点以及注释节点)的个数14 element.firstElementChild /lastElementChild 返回第⼀个/最后⼀个⼦元素(不包括⽂本节点以及注释节点)15 element.previousElementSibling/nextElementSibling 返回前⼀个/后⼀个兄弟元素(不包括⽂本节点以及注释节点)16 element.clientHeight/clientWidth 返回内容的可视⾼度/宽度(不包括边框,边距或滚动条)17 element.offsetHeight/offsetWidth /offsetLeft/offset/Top 返回元素的⾼度/宽度/相对于⽗元素的左偏移/右偏移(包括边框和填充,不包括边距)18 element.style 设置或返回元素的样式属性,。

dom和dem的一些应用实例

dom和dem的一些应用实例

dom和dem的一些应用实例
DOM(文档对象模型)和DEM(数字高程模型)是两种不同的数据模型,它们在各自领域有着广泛的应用。

DOM主要应用于地理信息系统(GIS)中,例如在地图制作、遥感影像处理、空间数据可视化等领域。

DOM可以看作是一个二维的平面,它以数字形式表示了地球表面的地图信息,包括地形、地貌、建筑物、道路等。

通过DOM,可以在计算机上对地图进行各种操作,例如查询、编辑、分析和可
视化等。

而DEM则是一种数字地形模型,它以数字形式表示了地球表面的高程信息。

DEM可以用于生成三维地形模型,例如在地质勘探、城市规划、灾害评估
等领域。

通过DEM,可以计算出各种地形参数,例如坡度、坡向、高程等,从而为各种应用提供决策支持。

总的来说,DOM和DEM都是数字地理信息的基础数据模型,它们在各自
的领域都有着广泛的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DOM的级别 DOM
Core和DOM DOM Level 1, 分成DOM Level 1 Core DOM Level 1 HTML DOM 2,分成DOM Level 2 Core Core、 DOM Level 2, DOM Views、 DOM Level 2 Views Events、 DOM Level 2 Events Style、 DOM Level 2 Style Specification、 DOM Level 2 Traversal and Range Specification DOM Level 2 HTML DOM Level 3,还没有哪个浏览器可以完全实现DOM Level 3 HTML规范 3, DOM HTML
DOM 冒泡事件流
DOM 捕获事件流
Q&A
Thank You !来自DOM 1 HTML方式的话 ,得到id属性的字符串的值
myElement.id
DOM 节点树
DHTML本质上就是DOM ,DOM DOM树 DOM DOM树可以由HTML DHTML DOM HTML 代码直接构建DOM DOM树,也可以通过js js构建DOM DOM树, DOM js DOM 如果没有脚本语言,DOM DOM树的修改只能通过修改 DOM HTML源代码进行 HTML
DOM CURD
脚本开发人员可以通过文档对象的属性、方法和事 件来掌控、操纵和创建动态的网页元素。每一个网 页元素(一个HTML HTML标签)都对应着一个对象。 HTML
DOM 节点信息
• nodeName • nodeValue • nodeType
元素节点的 nodeName 是标签名称 属性节点的 nodeName 是属性名称 文本节点的 nodeName 永远是 #text 文档节点的 nodeName 永远是 #document 对于文本节点, 属性包含文本。 对于文本节点,nodeValue 属性包含文本。 对于属性节点, 属性包含属性值。 对于属性节点,nodeValue 属性包含属性值。 nodeValue 属性对于文档节点和元素节点是不可用的。 属性对于文档节点和元素节点是不可用的。
DOM基础 DOM基础
Document Object Module
DOM基础 DOM
• • • • • DOM 简介 DOM 分类 DOM 节点树 DOM CURD DOM 事件模型
DOM 简介
DOM是Document Model文档对象模型的缩写,是W3C W3C制定的一套规范。 DOM Document Object Model W3C 依据DOM DOM规范,DOM DOM是一种与浏览器,平台,语言无关的接口。 DOM DOM
cloneNode
DOM 更新节点(U) (U)
setAttribute, replaceChild ,innerText,innerHTML等
DOM 删除节点(D) (D)
removeChild, removeAttribute等
DOM 事件模型
DOM事件标准定义了两种事件流,这两种事 DOM 件流有着显著的不同,这两种事件流分别是捕 获和冒泡
DOM 获取节点(R) (R)
getElementById,getElementByTagName, firstChild,lastChild,parentNode, previousSibling,nextSibling 等
DOM 创建节点(C) (C)
createElement,createTextNode createElement createTextNode
DOM 分类
• XML Dom (Core API ) • HTML Dom (Core API HTML API ) API和HTML
DOM 1 Core部分中一切皆是节点 ,得到id属性的字符串的值
myElement.attributes[“id”].value; 或 myElement.getAttributes("id");
相关文档
最新文档