js——DOM操作(一)

DOM:Document Object Model  文档对象模型

文档:html页面

文档对象:页面中元素

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

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

DOM节点

如:

getElementById

getElementByTagName

document

document.body

...

//***************************************

childNodes : 只读属性  子节点列表集合

  标准下:包含了文本和元素类型的节点,也包含非法嵌套的子节点

  非标准下:只包含元素类型的节点,ie7以下不会包含非法嵌套的子节点

  childNodes只包含一级子节点,不包含后辈孙级以下的节点

  DOM节点类型有12种,比较重要的有:

元素类型 nodeType
元素节点 1
属性节点 2
文本节点 3
注释节点 8
文档节点 9

attributes:只读属性  属性列表集合

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以下有可能)

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

width  height   //**不存在兼容问题

  style.width:样式宽

  clientWidth:可视区宽 (包括padding)

  offsetWidth:占位宽(包括padding和border)

//**************************

操作元素属性的方式:

元素.属性名    //可赋值,可获取值

元素[属性名]    //可赋值,可获取值

  两者区别:单属性名是变量的时候,不能通过“.”的方式,必须要用“[]”

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

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

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

/**

  1、用.和[]的形式无法操作元素的自定义属性

     getAttribute可以操作元素的自定义属性 (无兼容问题)

  2、getAttribute可以获取元素属性实际的值,如img的src属性值,获取的是设定的实实在在的值(ie7以下还是会返回资源    的绝对路径)

**/

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

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

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

父级.insertBefore(新的元素,被插入的元素) 方法   在指定元素前面插入一个新元素

  在ie下如果第二个参数的节点不存在,会报错

  在其他标准浏览器下如果第二个参数的节点不存在,则会以appendChild的形式进行添加

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

/*

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

*/

时间: 2024-07-30 13:40:09

js——DOM操作(一)的相关文章

JS DOM操作(创建、遍历、获取、操作、删除节点)

创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=devic

Js DOM 操作

HTML DOM对标签属性的操作 1.获取属性值 对象.getAttribute("属性名") 对象.属性名 2.设置属性 对象.setAttribute("属性名","属性值") 对象.属性名 = "属性值" 3.删除属性 对象.remove("属性名") 对象.属性 = "" ? 以上操作不包含对class的操作 如果要对class进行操作 那么class需要写成className

JS DOM操作

DOM --文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法. 在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM. DOM的设计是以对象管理组织(OMG)的规约为基础的,因此可以用于任何编程语言.. Dom技术使得用户页面可以动态地变化,如可以动态地显示或隐藏一个元素,改变它们的属性,增加一个元素等, Dom技术使得页面的交互性大大地增强. var  v  =  document.getEl

js DOM操作练习

1.有如下html,如果用js获得被选中的option的text描述(非value)<select id="select_id">    <option vlue="1">text1</option>    <option vlue="2">text2</option>    <option vlue="3">text3</option>   

JS——DOM操作(childNodes、nodeType和children区别与用法)

DOM中节点的类型 DOM中一共有12中类型.但是我们常用的只有几种. 首先我们了解下DOM中一般常见的节点类型有哪些? 1.元素节点 DOM中的原子都是元素节点,比如<body><table><div>等等. 如果把Web上的文档比作一座大厦,则元素就是构成这块大厦的砖石.一个文档是由N个元素组成的.元素可包含其他元素. 2.文本节点 任意的文字.空格.换行.空白行都算是文本节点. 3.属性节点 属性节点,故名思议就是其他节点的属性.例如所有的元素都有title属性,

JS——DOM操作(操纵元素属性【getAttribute、setAttribute...】)

常见元素操作: (1):oDiv.style.display='block'; (2):oDiv.style['display']='block'; (3):DOM方式 [看下面列举↓↓↓↓] DOM方式操作元素属性 1>获取:getAttribute(' 名称 ') 2>设置:setAttribute(' 名称 ',' 值 ') 3>删除:removeAttribute(' 名称 ') 详细看如下代码: 1 <!DOCTYPE html> 2 <html lang=&

JS DOM操作(二) Window.docunment对象——操作属性

属性:是对象的性质与对象之间关系的统称.HTML中标签可以拥有属性,属性为 HTML 元素提供附加信. 属性总是以名称/值对的形式出现,比如:name="value". 属性值始终被包括在引号内.双引号是最常用的,在某些个别的情况下,比如属性值本身就含有双引号,必须使用单引号, 属性总是在 HTML 元素的开始标签中规定. 属性实例 HTML 链接由 <a> 标签定义.链接的地址在 href 属性中指定: < a href="http://www.baidu

JS DOM操作(二) Window.docunment 对象操作

一 对元素的定位 在 js 中可以利用 id.class.name.标签名进行元素的定位 id.class  用在客户端 name  用在服务端 用 id 定位                  --  根据 id 最多只能找一个       var  a  =  document.getElementById( "id 名" )                                             -- 将找到的变了放到变量 a 中 用 class 定位      

js dom操作获取节点的一些方法

在复习javascript基础的时候,整理了一下js中获取节点的一些常用的方法,见代码: 1 //js获取下一个兄弟节点 2 function getNextSibling(eleObj){ 3 var next = eleObj.nextSibling; 4 if(next.nodeType == 3){ // 文本节点 5 return next.nextSibling; 6 } 7 return next; 8 } 9 //js获取上一个兄弟节点 10 function getPrevio