您的位置:首页 > Web前端 > HTML

HTML DOM 学习总结

2016-01-09 19:24 399 查看
DOM:核心DOM、XML DOM、HTML DOM

这里是对于HTML DOM学习的总结

---------------------------------------------------------------

1、DOM介绍



DOM:Document Object Model,文档对象模型

如上图,元素、文本、属性三种节点作为叶子节点构成一颗树

通过可编程的对象模型,JS获得了足够的能力来创建动态的HTML,能改变页面中的所有HTML元素



各个节点之间存在着逻辑关系:parent、sibling、child

各个元素之间有以上逻辑关系,然后文本节点是元素节点的子节点

属性节点貌似不属于元素节点的子节点(可以通过查看元素的子节点个数来验证---待考证后更新),但是可以通过对象来更改属性值

2、DOM 方法和属性

常用HTML DOM方法
getElementById()  getElementsByTagName()
getElementsByClassName() 在 IE 5,6,7,8 中无效appendChild()
replaceChildremoveChild()
insertBefore()createElement()
createTextNode()createAttribute()
getAttribute()setAttribute()
常用的HTML DOM属性
innerHTML  parentNode
childNodesattributes
nodeNamenodeValue
nodeTypedocument.documentElement
document.body
PS:

nodeName:元素-标签名  属性-属性名  文本-#text  文档-#document(只读)
nodeValue:元素-undefined/null  文本-文本  属性-属性值

nodeType:元素-1  属性-2  文本-3  注释-8  文档-9

3、一些能做的事

part.1

通过document.write()来改变输出流

通过innerHTML来改变HTML元素内容 或者 childNodes+nodeValue

通过attribute来改变HTML属性

通过style.property来改变样式

//以上前提是已经通过DOM获取到元素对象

part.2

<button onclick="displayDate()">xxxx</button>

<h1 onclick="this.innerHTML='谢谢!'">请点击该文本</h1>

document.getElementById("myBtn").onclick=function(){displayDate()}

  onload/onunload
onchange
onmouseover/onmouseout
onmousedown/onmouseup/onclick

part.3

如需向 HTML DOM 添加新元素,首先必须创建该元素(元素节点),然后把它追加到已有的元素上。

<div id="1st">
<p id="2nd">xxx</p>
<p id="3rd">xxx</p>
</div>


例如:在文档结尾添加一个P元素

首先要创建元素节点,再创建一个文本节点添加到刚创建的元素节点下,接着将元素节点添加到父元素div下作为一个新的子节点

上一个例子中用appendChild() 方法,将新元素作为父元素的最后一个子元素进行添加。如果不希望如此,可以使用 insertBefore() 方法,只需要找到兄弟节点即可。

如需删除 HTML 元素,必须清楚该元素的父元素,或者用下列方式
var child=document.getElementById("p1") ; child.parentNode.removeChild(child);

part.4

getElementsByTagName() 方法返回节点列表。节点列表是一个节点数组。length 属性定义节点列表中节点的数量。
var x=document.getElementsByTagName("p");
y=x[1];

个人总结:通过id、className或者TagName来获取元素后,对元素的文本、属性等进行操作。DOM在这里扮演着类似中间人或者说是桥梁把,连接了JavaScript和HTML,让JS能够更好的对HTML进行操作(大体上是增删改查,外加用户交互)相信随着深入学习会有不同体会。

以上

2016-01-09 19:28:02
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: