document对象

document对象表示当前页面。由于HTML在浏览器中以DOM形式表示为树形结构,document对象就是整个DOM树的根节点。

document对象提供的getElementById()和getElementsByTagName()可以按ID获得一个DOM节点和按Tag名称获得一组DOM节点

那么什么事DOM呢?

DOM 是 文档对象模型(Document Object Model)的简称,它的基本思想是把结构化文档(比如 HTML 和 XML)解析成一系列的节点,再由这些节点组成一个树状结构(DOM Tree)。所有的节点和最终的树状结构,都有规范的对外接口,以达到使用编程语言操作文档的目的,所以,DOM 可以理解成文档(HTML 文档、XML 文档)的编程接口。

严格地说,DOM 不属于 JavaScript,但是操作 DOM 是 JavaScript 最常见的任务,而 JavaScript 也是最常用于 DOM 操作的语言,本章介绍的就是 JavaScript 对 DOM 标准的实现和用法。

节点和节点树

HTML文档中的每项内容都是一个节点,包括HTML标签、标签树形、文本内容、注释、空格或tab等。

HTML 文档中的所有节点组成了一个节点树(或文档树)。HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点。树起始于文档节点,并由此继续伸出枝条,直到处于这棵树最低级别的所有文本节点为止。

获取DOM节点

getElementById()

获取节点类型、节点名称和节点值

  • DOM节点中,每个节点都有不同的类型。

 

获取节点类型的语法:nodeObject.nodeType

其中,nodeObject 为DOM节点(节点对象)。该属性返回以数字表示的节点类型,例如,元素节点返回 1,属性节点返回 2 。

document.getElementById("demo").nodeType;
  • 节点名称

节点名称就是节点的名字,不同类型的节点对应不同的节点名称。

//获取节点名的方法
document.getElementById("demo").nodeName;
  • 节点值

对于文本节点,节点值为文本内容;对于属性节点,节点值为属性的值;

节点值对于文档节点和元素节点是不可用的;

//获取节点值的方法
<div id="demo3">点击这里显示文本节点的值</div>
<script type="text/javascript">
    document.getElementById("demo3").onclick=function(){
        alert(this.firstChild.nodeValue);   //  this 指当前发生事件的HTML元素,这里是<div>标签
    }
</script>

parentNode(获取父节点)

 

children(获取子节点——数组)

 

获取兄弟节点

previousSibling获取上一个节点

nextSibling获取下一个节点

 

创建节点

常用创建节点的方法:

var demodiv=document.createElement("div");    //创建元素节点
var text=document.createTextNode("我是内容");  //创建文本内容

 

添加节点

js提供了两种添加节点的方法:

语法:parentNode.insertBefore(newNode , thisNode)
参数/返回值说明:

removeChild():删除节点

removeChild()用来删除父节点的一个子节点。

cloneNode():克隆节点

 

 获取css样式

document.getElementById("demo").style. backgroundColor;
document.getElementById("demo").style.lineHeight;
//注意:对于由 “ - ” 分隔的CSS属性,要去掉 “ - ” ,并将 “ - ” 后的第一个字母大写。例如:
//background-color 要写作 backgroundColor
//line-height 要写作 lineHeight

注意:将 CSS 样式与HTML代码分开后无法获取CSS样式。这是因为 nodeObject.style.cssProperty
获取的是DOM节点上 style 属性定义的样式,如果不存在 style 属性,或者 style 属性没有定义相应的样式,则是无法获取的。
也就是说,JavaScript 不会到 <style> 标签或者 CSS 文件去获取相应的样式,只能获取 style 属性定义的样式

 

posted @ 2018-07-30 17:40  飞鱼0725  阅读(265)  评论(0编辑  收藏  举报