犀牛书第五版读书笔记——Chapter 15. Scripting Documents(第三一部分)
犀牛书第五版读书笔记——Chapter 15. Scripting Documents(第三部分)19.HTMLElement元素定义了id,style,tit
犀牛书第五版读书笔记——Chapter 15. Scripting Documents(第三部分)
19.HTMLElement元素定义了id,style,title,lang,dir,className属性。这些属性对应到html标签的id,style,title,lang,dir,class这些attribute(特性)。这些特性是所有HTML标签都支持的
20.之所以为HTML标签定义相应的HTMLElement接口,主要是为了方便。这些接口通常只是增加一组对应HTML attributes的properties。比如要获取一个img标签的src attribute,要使用img.getAttribute("src")方法,比较麻烦。有了对应的专用HTMLElement接口以后,就可以直接使用img.src,来获取src attribute,方便了不少
21.综合来说,要获取<img name="i1" src="abc.jpg" />这个标签中的src attribute的值,有很多种方法
document.documentElement.childNodes[1].childNodes[3].getAttribute("src");document.body.childNodes[3].getAttribute("src");document.body.childNodes[3].src;document.images[0].src;document.i1.src;
只有熟悉了DOM的API(包括遗留API和W3C标准API),才能比较快速正确地获取想要的元素和值,当然,现在最方便的方法是用jQuery
22.DOM有1,2,3三个级别,从DOM 2开始,DOM划分了模块,并且引入了CSS和EVENT的支持。DOM3的特性不太清楚。还有史前的DOM 0,也就是遗留DOM
23.hasFeature()这个特性检测方法其实意义不大,因为这个方法也是浏览器厂商自己实现的,是否支持特性由浏览器厂商自己说了算。所以做特性检测时,不应该依赖这个方法
24.IE6里不支持NODE接口的NODE_TYPE常量,所以如果要用的话,需要自行定义
25.尽管DOM标准是来自于对动态HTML编程通用API的需求,但是DOM不只关注网络脚本。实际上,该标准现在已经广泛使用在服务器端编程,用于解析和操作XML文档。由于其广泛使用,现在DOM标准已经定义为语言独立的标准
26.对于DOM规范中定义的方法,在不同的语言中可以有不同的实现。比如DOM规范中定义,实现应该提供“获取第一个子节点”的能力。在java中,实现是getFirstChild()方法,而在javascript中,则是一个firstChild属性。这两种实现不同,但是都实现了DOM规范