JS中DOM操作
DOM创建
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口)。
DOM描绘了一个层次化的节点树,允许开发人员添加,移动,删除和修改页面的某一部分。
DOM脱胎于Netscape及微软公司创始的DHTML(动态HTML),但现在它已经成为表现和操作页面标记的真正的跨平台,语言中立的方式。
注意:
IE中所有DOM对象都是以COM对象的形式实现的,这意味着IE中的DOM对象与原声JavaScript对象的行为或活动特点不一致
节点操作:
插入节点:
appendChild();用于向childNodes列表尾部添加一个节点。如果传入到appendChild()中的节点已经是文档的一部分了,那结果就是将该节点从原来位置转移到新位置。
insertBefore(); 把需要插入的节点放到childNodes列表的指定位置上,接收两个参数(要插入的节点,参照节点);被插入的节点会变成参照节点的前一个同胞节点,同时返回。如果参照节点是NULL,则与appendChild执行相同的操作。
替换节点:
replaceChild(); 替换节点;接收两个参数(要插入的节点和要替换的节点)
移除节点:
removeChild(); 移除节点;返回被移除的节点。
其他方法:
cloneNode(); 复制节点。参数为true/false。为true时进行深度复制,为false时进行浅度复制。
normalize(); 移除空的文本节点,并连接相邻的文本节点。
Document类型:
所有浏览器都支持document.document.Element和document.body属性
document.title; 获取当前文档标题,设置当前文档标题
document.URL; 获取页面完整URL地址
document.domain; 获取页面域名
document.referrer; 获取来源页面的url,连接当前页面的URL,没有来源页面属性为空字符串
document.cookie; 设置和读出cookie
查找元素:
getElementById(); 获得指定ID的元素,不存在返回NULL
getElementsByTagName(); 获取指定标签名的元素的'动态'集合
getElementsByName(); 获得内有name属性的元素
特殊集合:
document.anchors; 获得文档中所有带有name属性的<a>元素
document.forms; 获得文档中所有form元素
document.images; 获得文档中所有img元素
document.links;获得文档中所有带href属性的<a>元素
注意 : 集合中的项会随内容更新而更新
Element类型: