JavaScript学习8:DOM进阶

        DOM自身存在很多类型,我们在上篇博客中提到了大部分的类型,比如Element类型:表示的是元素节点,比如Text类型:表示的是文本节点。DOM也提供了一些扩展功能。

        一.DOM类型

        上篇博客我们了解了DOM的节点以及怎样操作和查询节点,而本身这些不同的节点,又有着不同的类型

        技术分享

        我们随便来看两个类型:Document类型和Element类型

        Document类型表示文档,或文档的根节点,而这个节点时隐藏的,没有具体的元素标签。

        Element类型用于表现HTML中的元素节点。在之前的文章里,我们  已经可以对元素节点进行查找、创建等操作,元素节点的nodeType为1,nodeName为元素的标签名。

        元素节点对象在非IE浏览器可以返回它具体元素节点的对象类型。

技术分享

        二.DOM扩展

        1 呈现模式

        从IE6开始区分标准模式和混杂模式(怪异模式),主要是看文档的声明。IE为Document对象添加了一个名为compatMode属性,这个属性可以识别IE浏览器的文档处于什么模式。如果是标准模式,则返回CSS1Compat,如果是混杂模式则返回BackCompat。

        2 滚动

        DOM提供了一些滚动页面的方法,如下:

        Document.getElementById(‘box’).scrollIntoView();

        3 children属性

        由于子节点空白问题,IE和其他浏览器解释不一样。虽然可以过滤掉,但是如果得到有效子节点,可以使用children属性,支持的浏览器为:IE5+,Firefox3.5+等等。

        4 contains()方法

        判断一个节点是不是另一个节点的后代,我们可以使用contains()方法。这个方法是IE率先使用的,开发人员无须遍历即可获取此信息。

        三.DOM操作内容

        1 innerText属性

       除了Firefox之外,其他浏览器均支持这个方法。但是Firefox的DOM3级提供了另一个类似的属性:textContent,做上兼容即可通用。

        2innerHTML属性

        这个属性我们之前介绍过,不拒绝HTML。虽然可以插入HTML,但是还是有一些限制的,也就是所谓的作用域元素,离开这个作用域就无效了。

        3outerText

        outerText在取值的时候和innerText一样,火狐同样不支持,而赋值方法相当危险,他不单替换了文本内容,还将元素直接抹去。

        4outerHTML

        这个使用和innerHTML一样,同样在赋值的时候要谨慎。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。