选取元素时,若是通过document.getElementsByTagName等方式选取,记得在后面加[0];最常见的是用id引用
说说Node的分类:
| 类型 | nodeType |
| ----------- | -------- |
| 元素 Element | 1 |
| 属性 Attr | 2 |
| 文本 Text | 3 |
| 注释 Comment | 8 |
| 文档 Document | 9 |
nodeName 属性: 节点的名称,是只读的。
1. 元素节点的 nodeName 与标签名相同
2. 属性节点的 nodeName 是属性的名称
3. 文本节点的 nodeName 永远是 #text
4. 文档节点的 nodeName 永远是 #document
创建元素节点:document.createElement("div");
创建属性节点:var a=document.createAttribute("title");a.value="content";
创建文本节点:var a=document.createTextNode("where are you?");
补充一点:
var returnedNode = someNode.appendChild(newNode); //添加节点后,会返回新增的节点
alert(returnedNode == newNode); //true
alert(someNode.lastChild == newNode); //true
Nodelist不是数组,和函数中的arguments一样,虽然也有length,但没有push,pop方法,可以通过遍历加入到数组中
insertBefore:someNode.insertBefore(newNode, null); //接收两个参数,要插入的节点和作为参照的节点,此处以null作为参照,则和appendChild没区别
replaceChild:someNode.replaceChild(newNode, someNode.firstChild); //要插入的节点和要替换的节点,替换节点将被移除,与removeChild一样,移出的节点仍然为文档所有,不过在文档中已没有位置