DOM(二)

document object model (文档对象模型)

dom节点类型

元素节点 文本节点 属性节点

【注】节点可以分为元素节点,属性节点和文本节点,而这些节点又有三个非常有用的属性,分别为:nodeName,nodeType 和 nodeValue。
在这里插入图片描述

dom元素节点属性和attributes

ownerDocument 属性返回该节点的文档对象根节点,返回的对象相当于document。
alert(box.ownerDocument===document);//true,根节点
parentNode 属性返回该节点的父节点。
alert(box.parentNode.nodeName);//获取父节点的标签名
previousSibling 属性返回该节点的前一个同级节点。
alert(box.lastChild.previousSibling);//获取前一个同级节点
nextSibling 属性返回该节点的后一个同级节点。
alert(box.firstChild.nextSibling);//获取后一个同级节点

属性节点

attribute属性返回该节点的属性节点集合。
集合特点:1.不重复 2.无序

属性

attributes.length 返回属性节点个数
访问属性节点
1.alert(oDiv.attributes.getNamedItem(“id”));
2.alert(oDiv.attributes[“id”]);

节点操作

Dom不单单可以查找节点,也可以创建节点,复制节点,插入节点,删除节点和替换节点。

方法说明
write()这个方法可以把任意字符串插入到文档中
createElement()创建一个元素节点
appendChild()将新节点追加到子节点列表的末尾
createTextNode()创建一个文件节点
insertBefore()将新节点插入在前面
repalceChild()将新节点替换旧节点
cloneNode()复制节点
removeChild()移除节点


createElement()
【格式】document.createElement(标签名);
功能:创建一个元素节点。

appendChild()
【格式】document.appendChild(newNode);
功能:将newNode插入到parent子节点的末尾。

createTextNode()
【格式】document.createTextNode(文本);
功能:创建文本节点。

insertBefore()
【格式】父节点.insertBefore(插入的节点,旧节点);
功能:将插入的节点插入到旧节点之前。

replaceChild()
【格式】parent.replaceChild(newNode,oldNode);
功能:用newNode将oldNode给替换掉。

cloneNode()
【格式】node.cloneNode()
功能:克隆节点。
返回值:新克隆出来的节点。
参数:true 默认是false 如果传true,就会复制元素节点中innerHTML

removeChild()
【格式】node.parentNode.removeChild(node);
功能:删除节点

【注】创建一个带文本的元素节点呢?(封装)

function createElementwidthTxt(tagName, txt){
var node=document. createElement(tagName); 
var oTxt=document. createTextNode(txt); 
node. appendChild(oTxt)
return node;
}

调用格式:

var node=createElementwithTxt("span","文本内容");

【注】DOM里insertAfter()这个方法是没有?(封装)

function insertAfter(newNode,oldNode){
//判断oldNode是否是最后一个节点
var parent=oldNode.parentNode;if(oldNode==parent.lastChild){
//最后一个节点,直接插入到子节点的末尾
parent.appendChild(neNode);
}else{
//插入到oLdNode的下一个节点之前
parent.insertBefore(newNode,oldNode.nextsibling);
}

调用格式:

insertAfter(node,oSpan);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值