DOM对象控制HTML元素

以下内容,摘自慕课网

将HTML代码分解为DOM节点层次图:

节点属性

在文档对象模型(DOM)中,每个节点都是一个对象。DOM节点有三个重要的属性:

nodeName:节点的名称

nodeValue:节点的值

nodeType:节点的类型

一、nodeName属性:节点的名称,是只读的。

元素节点的nodeName与标签名相同

属性节点的nodeName是属性的名称

文本节点的nodeName永远是#text

文档节点的nodeName永远是#document

二、nodeValue属性:节点的值

元素节点的nodeValue是unfined或null

文本节点的nodeValue是文本自身

属性节点的nodeValue是属性本身

三、nodeType属性:节点的类型,是只读的。以下常用的几种节点类型:

元素类型  节点类型

元素1

属性2

文本3

注释8

文档9

注意:节点之间的空白符,在大多浏览器中是文本节点。

访问子节点childNodes

访问选定元素点下的所有子节点的元素,返回的值可以看作是一个数组,他具有length属性。

语法:

elementNode.childNodes;

注意:

如果选定的节点没有子节点,则该属性返回不包含节点的NodeList.

例子:

1.什么是节点?

在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。

整个文档是一个文档节点, 每个HTML元素时元素节点 ,每个HTML属性是属性节点, HTML里面的文本是文本节点 ,注释是注释节点


2.其中x=document.getElementsByTagName("div")[0].childNodes是什么意思?

答:获得第一个div元素的子节点,如果换成[1]表示获得第二个div的子节点,并且如果只有一个div元素时获得子节点时必须带 [0] 没有默认。 

访问子节点的第一和最后项

一、firstChild属性返回"childNodes"数组的第一个子节点。如果选定的节点没有子节点,则该属性返回NULL.

语法:   node.firstChild

说明:与elementNode.childNodes[0]是同样的效果。

二、lastChild属性返回"childNodes"数组的最后一个子节点。如果选定的节点没有子节点,则该属性返回NULL.

语法:node.lastChild

说明:与elementNode.childNodes[elementNode.childNodes.length-1]是同样的效果。

访问父节点parentNode

获取指定节点的父节点

语法:   elementNode.parentNode

注意:    父节点只能有一个。

例子(获取父节点):

访问祖节点:

访问兄弟节点

1.nextSibling属性可返回某个节点之后紧跟的节点(处于同一树层级中)。

语法:nodeObject.nextSibling

说明:如果无此节点,则该属性返回null.

2.previousSibling属性可返回某个节点之前紧跟的节点(处于同一树层级中)。

语法:nodeObject.previousSibling

说明:如果无此节点,则该属性返回null.

跳过空白文本的方法:

插入节点appendChild()

在指定节点的最后一个子节点列表之后添加一个新的子节点。

语法:   appendChild(newnode)

参数:newnode:指定追加的节点。

创建新的P标签:

插入节点insertBefore()

insertBefore()方法可在已有的子节点前插入一个新的子节点。

语法:   insertBefore(newnode,node);

参数: newnode:要插入的新节点       node:指定此节点前插入节点。 

例子:

删除节点removeChild()

removeChild()方法从子节点列表中删除某个节点。如果删除成功,此方法可返回被删除的节点,如失败,则返回NULL.

语法:   nodeObject.removeChild(node)

参数:     node:必需,指定需要删除的节点

例子:

注意:把删除的子节点赋值给x,这个子节点不在DOM树中,但是还存在内存中,可通过x操作。

如果要完全删除对象,给x复制null值,代码如下:

替换元素节点replaceChild()

replaceChild实现子节点(对象)的替换。返回被替换对象的引用。

语法:   node.replaceChild(newnode,oldnode)

参数:

newnode:必需,用于替换oldnode的对象。

oldnode:必需,被newnode替换。

例子:

注意:当oldnode被替换时,所有与之相关的属性内容都将被移除。newnode必须先被建立。

创建元素节点createElement

createElement()方法可创建元素节点。此方法可返回一个Element对象。

语法:    document.createElement(tagName)

参数:   tagName:字符串值,这个字符串用来指明创建元素的类型

注意:    要与appendChild()或insertBefore()方法联合使用,将元素显示在页面中

创建一个按钮:

用setAttribute设置属性:

创建文本节点createTextNode

createTextNode()方法创建新的文本节点,返回新创建的Text节点。

语法:   document.createTextNode(data)

参数:     data:字符串值,可规定此节点的文本。

例子:

网页减去的距离与偏移量

图示:

scrollLeft:设置或获取位于给定对象左边界与窗口中目前可见内容的最左端之间的距离 ,即左边灰色的内容。

scrollTop:设置或获取位于对象最顶端与窗口中可见内容的最顶端之间的距离 ,即上边灰色的内容。

offsetLeft:获取指定对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置 。

offsetTop:获取指定对象相对于版面或由 offsetParent 属性指定的父坐标的计算顶端位置 。

注意:

1. 区分大小写

2. offsetParent:布局中设置postion属性(Relative、Absolute、fixed)的父容器,从最近的父节点开始,一层层向上找,直到HTML的body。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,050评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,538评论 1 306
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,673评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,622评论 0 218
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,047评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,974评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,129评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,893评论 0 209
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,654评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,828评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,297评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,619评论 3 262
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,326评论 3 243
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,176评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,975评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,118评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,909评论 2 278

推荐阅读更多精彩内容

  • 认识DOM文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。D...
    jasmine_jing阅读 726评论 0 3
  • 在一个夜晚 关掉所有和世界联系的方式 闭上眼 回想 我喜欢看四季的忧伤 在风雨里 这些季节像我一样逞强 苟延残喘 ...
    普肃阅读 153评论 0 0
  • 关于心事,我向来是不愿示人的,而宁愿选择让它们深藏心底。我总认为,这些属于自己的东西,注定是要随时间的迁移...
    dxnb阅读 171评论 0 0