摘要:类型对象是的一个实例,表示整个页面,而且,对象是对象的一个属性,因此可以将其作为全局对象来访问。删除指定位置的行。创建创建创建第一行创建第二行将表格添加到文档主体中
DOM 节点层次 Node类型
DOM1级定义了一个Node接口,该接口将由DOM中的所有节点类型实现
节点类型由在Node类型中定义的12个数值常量来表示,任何节点类型必居其一
Node.ELEMENT_NODE();
Node.ATTRIBUTE_NODE();
Node.TEXT_NODE();
Node.CDATA_SECTION_NODE();
Node.ENTITY_REFERENCE_NODE();
Node.ENTITY_NODE();
Node.PROCESSING_INSTRUCTION_NODE();
Node.COMMENT_NODE();
Node.DOCUMENT_NODE();
Node.DOCUMENT_TYPE_NODE();
Node.DOCUMENT_FRAGMENT_NODE();
Node.NOTATION_NODE();
使用nodeName和nodeValue检测节点类型
节点关系,保存NodeList对象,是一种数组对象,用于保存一组有序的节点,可以通过位置来访问这些节点。
childNodes
var firstChild=someNode.childNodes(); var secondChild=someNode.childNodes.item(); var count=someNode.childNodes.length();
parentNode,每个节点都有parentNode属性,属性指向文档树的节点,包含在childNodes列表中的所有节点都具有相同的父节点,因此它们的parentNode属性都指向同一个节点。此外包含在childNodes列表中的每个节点相互之间都是同胞节点。
通过使用列表中每个节点的previousSibling和nextSibling属性可以访问同一列表中的其他节点。列表中第一个节点的previousSibling属性值为null,而列表中最后一个节点nextSibling属性的值同样也为null
父节点的firstChild和lastChild属性分别指向childNodes列表中的第一个和最后一个节点。
操作节点
appendChild(),向childNodes列表的末尾添加一个节点。添加节点之后,childNodes的新曾节点、父节点以及以前的最后一个子节点的关系都会相应地得到更新
//someNode 有多个子节点 var returnedNode = someNode.appendChild(someNode.firstChild); alert(returnedNode == someNode.firstChild); //false alert(returnedNode == someNode.lastChild); //true
insertBefore(),把节点放在childNodes列表中某个特定的位置上。接收两个参数,要插入的点和作为参照的节点
//插入后成为最后一个子节点 returnedNode = someNode.insertBefore(newNode, null); alert(newNode == someNode.lastChild); //true //插入后成为第一个子节点 var returnedNode = someNode.insertBefore(newNode, someNode.firstChild); alert(returnedNode == newNode); //true alert(newNode == someNode.firstChild); //true //插入到最后一个子节点前面 returnedNode = someNode.insertBefore(newNode, someNode.lastChild); alert(newNode == someNode.childNodes[someNode.childNodes.length-2]); //true
replaceChild(),替换节点。接收两个参数,要插入的节点和要替换的节点,要替换的节点将由这个方法返回并从文档树中移除,同时由要插入的节点占据其位置
//替换第一个子节点 var returnedNode = someNode.replaceChild(newNode, someNode.firstChild); //替换最后一个子节点 returnedNode = someNode.replaceChild(newNode, someNode.lastChild);
removeChild(),移除节点,接收一个参数,即要移除的节点。
//移除第一个子节点 var formerFirstChild = someNode.removeChild(someNode.firstChild); //移除最后一个子节点 var formerLastChild = someNode.removeChild(someNode.lastChild);
cloneNode(),接收一个布尔值参数,表示是否执行深复制,在参数为true的情况下,执行深复制,也就是复制节点及其整个子节点树,在参数为false的情况下,执行浅复制,即只复制节点本身。
Document类型
document对象是HTMLDocument的一个实例,表示整个HTML页面,而且,document对象是window对象的一个属性,因此可以将其作为全局对象来访问。
nodeType值为9
nodeName值为"#document"
nodeValue值为null
parentNode值为null
ownerDocument值为null
document对象有一些标准的Document对象所没有的属性,这些属性提供了document对象所表现的网页的一些信息
//取得文档标题 var originalTitle = document.title; //设置文档标题 document.title = "New page title"; //取得完整的 URL var url = document.URL; //取得域名 var domain = document.domain; //取得来源页面的 URL var referrer = document.referrer;
查找元素,getElementById()、getElementByTagName()和getElementByName()
特殊集合
document.anchors,包含文档中所有带name特性的元素
document.applets,包含文档中所有的
document.forms,包含文档中所有的