读《JavaScript dom编程艺术(第2版)》笔记 3-4
1.一份文档就是一棵节点树
2.节点分为不同类型:元素节点、文本节点、属性节点等
3.每个节点都是一个对象,DOM的原子是元素节点
4.getElementById返回一个对象,该对象对应着文档里的一个特定的元素节点
5.getELementsByTagName和getElementsByClassName返回一个对象数组,他们分别对应着文档里的一组特定的元素节点
6.typeof操作符可以告诉我们它的操作数是一个字符串、数值、函数、布尔值还是对象
7.通配符("*")星号字符必须放在引号里,这是为了让通配符与乘法操作符有所区别,如果想知道某文档里共有多少元素节点: alert(document.getElementsByTagName("*").length)
8.getElementsByClassName参考这篇文章
9.null与''区别参考这篇文章
10.setAttribute做出的修改不会反映在文档本身的源代码里,这种”表里不一“的现象源自DOM的工作模式:先加载文档的静态内容,再动态刷新,动态刷新不影响文档的静态内容。这正是DOM的真正威力:对页面内容进行刷新却不需要在浏览器里刷新页面。
11.DOM是一种适用于多种环境和多种程序设计语言的通用API。
12.window.onload=在页面加载是调用某些函数
13.利用nodeValue来提取<p>元素所包含的文本的值的话,node.nodeValue这样调用的话会返回一个null值:因为<p>元素本身的nodeValue属性是一个空值,包含在<p>元素里的文本是另一种节点,它是<p>元素的第一个子节点,因此想要得到的文本是<p>标签第一个子节点的nodeValue属性值,所以应该node.childNodes[0].nodeValue这样调用,node.firstChild与之等价,为更优写法,不仅简短更具有可读性。