DOM的定义及DOM相关

DOM : Document Object Model 文档对象模型
文档:html页面
文档对象:页面中元素
文档对象模型:定义 为了能够让程序(js)去操作页面中的元素

DOM会把文档看作是一棵树,同时定义了很多方法来操作这棵数中的每一个元素(节点)

DOM节点

getElementById
getElementByTagName
document
document.body

元素.childNodes : 只读 属性 子节点列表集合;标准下:包含了文本和元素类型的节点,也会包含非法嵌套的子节点;非标准下:只包含元素类型的节点,ie7以下不会包含非法嵌套子节点。childNodes只包含一级子节点,不包含后辈孙级以下的节点。

DOM节点的类型有很多种 12种。

元素.nodeType : 只读 属性 当前元素的节点类型
元素节点 : 1
属性节点 : 2
文本节点 : 3

元素.attributes : 只读 属性 属性列表集合

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

        if ( oUl.childNodes[i].nodeType == 1 ) {
            oUl.childNodes[i].style.background = ‘red‘;
        }

    }

元素.children : 只读 属性 子节点列表集合;标准下:只包含元素类型的节点;非标准下:只包含元素类型的节点。

元素.firstChild : 只读 属性 第一个子节点;标准下:firstChild会包含文本类型的节点;非标准下:只包含元素节点。

元素.firstElementChild : 只读 属性 标准下获取第一个元素类型的子节点。

元素.lastChild || 元素.lastElementChild :最后一个子节点

元素.nextSibling || 元素.nextElementSibling: 下一个兄弟节点

元素.previousSibling || 元素.previousElementSibling :上一个兄弟节点

元素.parentNode : 只读 属性 当前节点的父级节点。

元素.offsetParent : 只读 属性 离当前元素最近的一个有定位属性的父节点;如果没有定位父级,默认是body;ie7以下,如果当前元素没有定位默认是body,如果有定位则是html;ie7以下,如果当前元素的某个父级触发了layout,那么offsetParent就会被指向到这个触发了layout特性的父节点上。

元素.offsetLeft[Top] : 只读 属性 当前元素到定位父级的距离(偏移值);到当前元素的offsetParent的距离
                                  如果没有定位父级
                                            offsetParent -> body
                                            offsetLeft -> html

如果有定位父级
                                 ie7以下:如果自己没有定位,那么offsetLeft[Top]是到body的距离
                                             如果自己有定位,那么就是到定位父级的距离
                                             其他:到定位父级的距离。

元素的宽高:width height

      style.width : 样式宽
      clientWidth : 可视区宽  = 样式宽 + padding
      offsetWidth : 占位宽 = 样式宽 + padding + border = 可视区宽 + border

元素.getAttribute(属性名称); 方法 获取指定元素的指定属性的值

元素.setAttribute(属性名称,属性值); 方法 给指定元素指定的属性设置值

元素.removeAttribute(属性名称); 方法 移除指定的元素的指定的属性

document.createElement(标签名称); 创建元素

父级.removeChild(要删除的元素); 删除元素

父级.appendChild(要添加的元素) 方法 追加子元素

父级.insertBefore(新的元素,被插入的元素) 方法 在指定元素前面插入一个新元素;在ie下如果第二个参数的节点不存在,会报错;在其他标准浏览器下如果第二个参数的节点不存在,则会以appendChild的形式进行添加

 if ( oUl.children[0] ) {
     oUl.insertBefore( oLi, oUl.children[0] );
  } else {
     oUl.appendChild( oLi );
   }

父级.replaceChild(新节点,被替换节点) 替换子节点

appendChild,insertBefore,replaceChild都可以操作动态创建出来的节点,也可以操作已有节点

时间: 2025-01-04 01:25:58

DOM的定义及DOM相关的相关文章

关于DOM的事件操作/DOM介绍/关于DOM操作的相关案例

一.关于DOM的事件操作 1.JavaScript基础分为三个部分: ECMAScript: JavaScript的语法标准,包括变量,表达式,运算符,函数,if语句,for语句 DOM: 文档对象模型, 操作网页上的元素的API, 比如让盒子移动, 变色,  轮播图等.. BOM: 浏览器对象模型, 操作浏览器部分功能的API, 比如让浏览器自动滚动 2.事件 JS是以事件驱动为核心的一门语言 3.事件的三要素 (1).事件的三要素: 事件源, 事件, 事件驱动程序 (2).总结: 事件源:

JavaScript操作DOM与jQuyer操作DOM的对比

1.通过jQuery方法包装后的对象,是一个类数组对象.它与DOM对象完全不同,唯一相似的是它们都能操作DOM. 2.通过jQuery方法包装后的对象,是一个类数组对象.它与DOM对象完全不同,唯一相似的是它们都能操作DOM.通过jQuery处理DOM的操作,可以让开发者更专注业务逻辑的开发,而不需要我们具体知道哪个DOM节点有那些方法,也不需要关心不同浏览器的兼容性问题,我们通过jQuery提供的API进行开发,代码也会更加精短. 3.jQuery是一个类数组对象,而DOM对象就是一个单独的D

dom core,html dom,css dom,jquery 中的dom操作

前端开发中为达到某种目的,往往有很多方法:dom core,html dom,jquery; dom core/jquery主要通过函数调用的方式(getAttribute("属性名")/attr("属性名"))获取属性值, html dom一般利用属性的形式(element.属性名)获取对应属性值,形式相对简洁.此外,针对于css相关的对象,还有css dom 前端开发中的节点有三种:元素节点:文本节点和属性节点 js一般对于dom core和html dom都支

js学习总结:DOM节点二(dom基本操作)

一.DOM继承树 DOM--Document Object Model DOM定义了表示修改文档所需要的方法.DOM对象即为宿主对象,由浏览器厂商定义,用来操作html和xml的一类厂商定义,也有人称DOM是对HTML以及xml的标准编程接口. 继承树模型图: 1.document继承于HTMLDocument,而HTMLDocument继承于Document; 2.文本节点对象Text与注释节点对象Comment继承于CharacterData 3.在Element节点下其实存在两个子节点,除

dom.getAttribute(&#39;value&#39;) 和 dom.value 的区别

dom  是一个 input type="text" 使用: dom.setAttribute("value","2011"),只能通过 dom.getAttribute("value") 得到 2011 使用:  dom.value = 2012,只能通过 dom.value 得到 2012 也就是说: getAttribute 和 setAttribute 是一套, 直接使用属性是一套,两套完成不是一回事. 总结: 1.

javascript 中 dom.getAttribute(&quot;value&quot;) 与dom.value的差异

dom 是一个 input type="text" 手动修改 input 的值, 使用 dom.getAttribute("value") 只能得到 html Dom中的值,而不能得到修改后的值(即内存中的值): 可以通过 dom.value 得到修改后的最新值(内存中的值) 使用: dom.setAttribute("value","2011") , 只能通过 dom.getAttribute("value&quo

JavaScript基础及函数,BOM,DOM的节点及DOM节点操作

使用js的三种方式 1.直接在HTML标签中,使用事件属性,调用js代码: <button onclick="alert('点我呀')">点我啊!<tton> 2.在页面的任意位置,使用script标签 <script type="text/javascript"> alert('哈哈哈') </script> 3.外部:使用script标签 src属性选择外部地址, type属性选择"text/javasc

DOM分类及HTML DOM

DOM简介 DOM是W3C(World Wide Web Consortium)标准. “W3C 文档对象模型(DOM,全称Document Object Model)”是一个使程序和脚本有能力动态地访问和更新文档的内容.结构以及样式的平台和语言中立的接口. DOM被分为3个不同的部分/级别: 核心 DOM XML DOM HTML DOM 核心DOM:提供了操作文档的公有属性和方法,就相当于鼻祖. HTML DOM:提供了所有HTML元素的对象和属性,以及访问方法,相当于对核心DOM进行了在H

DOM官方定义

DOM Document Object Model 文档对象模型 DOM的官方定义:W3C的DOM,可以使程序或者脚本(JS或AS\JScript),动态的访问或者操作文档的内容.结构.样式. DOM只是一个标准,操作网页的标准.而这个标准(模型)在浏览器中,以"对象"的方式实现. DOM的分类:核心DOM.HTMLDOM.XMLDOM.EventDOM.CSSDOM.(5大类) 1.核心DOM:提供了操作HTML文档(显示数据)或XML文档(存储数据)的公共的属性和方法. 2.HTM