第十章 DOM

作者: 张果果 | 来源:发表于2016-10-24 23:59 被阅读16次

1.IE中的所有DOM对象都是以COM对象的形式实现的,意味着IE中的DOM对象与原生JavaScript对象的行为或活动特征并不一致。


2.Node接口在JavaScript中是作为Node类型实现的。除了IE外,在其他的浏览器中都可以访问到这个类型。


3. NodeList是一种类数组对象,用于保存一组有序的节点,并不是Array的实例。


4.所有节点都有的最后一个属性是ownerDucement,该属性指向表示整个文档的文档节点


5. IE8及更早版本与其他浏览器处理空白字符的方式不一样。IE9之前的版本不会为空白符创建节点。


6.IE在cloneNode()方法时会复制事件处理程序,所有在复制前最好先移除事件处理程序。


7.Document类型可以表示HTML页面或者其他基于XML的文档。最常见的应用时作为HTMLDocument实例的document对象


8.①取得对<html>的引用

var html = document . documentElement;

②取得对<body>的引用

var body = document . body ;

③取得对<!DOCTYPE>的引用

var doctype = document . doctype ;


9.浏览器对document . doctype的支持差别:

①IE8及之前的版本:把文档声明类型错误地解释为一个注释并把它当作Comment节点,而document . doctype的值始终为null;

②IE9+及Firefox:如果存在文档声明类型,则将其作为文档的第一个子节点;document . doctype是一个DocumentType节点,也可以通过document . firstChild或document . childNodes[0]访问;

③Safari、Chrome和Opera:如果存在文档声明类型,则将其解析,但不作为文档的子节点;document . doctype是一个DocumentType节点,但该节点不会出现在document . childNodes中


10.浏览器处理位于<html>外部的注释方面的差异:

<!-- 第一条注释 -->

<html>

        <body></body>

</html>

<!-- 第二天注释 -->

①IE8及之前的版本、Safari 3.1及更高版本、Opera和Chrome:只为第一条注释创建节点,不为第二条注释创建节点。结果,第一条注释称为document . childNodes中的第一个子节点;

②IE9+:将第一条注释创建为document . childNodes中的第一个注释节点,也会将第二天注释创建为document . childNodes中的注释子节点;

③Safari 3.1之前的版本及Firefox:完全忽略这两条注释


11.由于跨域安全限制,来自不同子域的页面无法通过JavaScript通信。通过将document.domain设置为相同的值,这些页面就可以互相访问对方包含的JavaScript对象了。


12.浏览器对domain属性的限制:

①不能将domain属性设置为URL中不包含的域。

②若域名一开始是“松散的”,那么不能将它再设置为“紧绷的”。

// 假设页面来自于p2p . wrox . com域

document . domain = " wrox . com ";          //松散的(成功)

document . domain = " p2p . wrox . com "; //紧绷的(失败)


13.①IE8及较低版本不区分ID的大小写;

②若页面中多个元素的ID值相同,getElementById()只返回文档中第一次出现的元素;

③IE7及较低版本中:name特性与给定ID匹配的表单元素也会被该方法返回。


14.属性的值与通过getAttribute()返回的值不同的两类特性:

①style:通过属性访问返回一个对象;通过getAttribute()访问返回CSS文本。

②onclick:通过属性访问返回一个JavaScript函数(若未指定,则返回null);

                  通过getAttribute()访问返回相应代码的字符串。

开发人员经常只使用对象的属性,只有在取得自定义特性值的情况下,才会使用getAttribute()方法


15.如果需要通过childNodes属性遍历子节点,那么在执行某项操作以前,通常要先检查nodeType属性。


16.应该尽量减少访问NodeList的次数,因为每次访问NodeList,都会运行一次基于文档的查询。

相关文章

  • 2018-12-28红宝书第10章以后总结

    第十章DOM 第11、12章 DOM2和DOM3 主要是对DOM的一些能力扩展 DOM2能使用事件与DOM文档交互...

  • 第十章DOM

    第十章节点DOM10.1.1Node类型appendChild()insertBefore()replaceChi...

  • js第十章

    Javascript第十章 Dom:Document Object Model文档对象模型,专门操作网页内容的AP...

  • 第十章 DOM

    1.操作节点: appendChild(), 用于向childNodes末尾添加一个人节点。 insertBefo...

  • 第十章 DOM

    1.IE中的所有DOM对象都是以COM对象的形式实现的,意味着IE中的DOM对象与原生JavaScript对象的行...

  • JavaScript第十章DOM

    节点层次 文档元素html Node类型每个节点都有nodeType,可根据nodeType来判断系欸DNA类型,...

  • 第十章 DOM节点操作

    一,获取返回节点 1.childNodes() 返回一个数组 这个数组由给定的子节点构成什么意思呢?来演示一下 ...

  • dom 级别和dom 事件处理

    dom级别:dom0 dom1 dom2 dom3 dom事件处理:dom0 dom2 dom3 (1级DOM标准...

  • WY-DOM编程

    DOM Document Object Model DOM Core DOM HTML DOM Style DOM...

  • DOM事件

    DOM级别与DOM事件 DOM级别:DOM0级、DOM1级、DOM2级、DOM3级DOM事件:DOM0级事件处理、...

网友评论

    本文标题:第十章 DOM

    本文链接:https://www.haomeiwen.com/subject/qspzyttx.html