js dom操作方式

DOM
一:结点信息 
1.nodeType返回节点的类型
元素节点返回1
属性节点返回2
文本节点返回3


2.nodeValue返回结点的值
元素结点返回null
属性结点返回undefined 
文本结点返回文本内容


3.nodeName属性获得结点名称
对于元素结点返回的是标记名称<a herf><a>返回的是"a" 
对于属性结点返回的是属性名称,如:class="test" 返回的是test 
对于文本结点返回的是文本的内容 
4.hasChildNodes()判断是否有子结点


5.tagName属性返回元素的标记名称   -----这个属性只有元素结点才有,等同于元素结点的nodeName属性 


二:节点关系
childNodes 属性子节点数组
parentNode 指向父节点
previousSibling引用下一个兄弟结点
nextSibling 引用上一个兄弟结点 

document.getElementById()
docuemnt.getElementByTagName
docuemnt.getElementsByClass


三:处理属性节点
利用setAttribute()方法给元素结点添加属性 
使用getAttribute()方法获得属性值


五.处理文本结点
innerHTML和innerText属性,这两个方法相信大家都很熟悉,不介绍了,值得注意的是无论是ie还是firefox都容易把空格、换行、制表符等当成文本结点。所有一般通过element.childNodes[i]引用文本结点的时候,一般要处理:

<script language"javaScript" type="text/javascript">
function cleanWhitespace(element)
{
for(var i=0; i<element.childNotes.length; i++)
{
var node = element.childNodes[i];
if(node.nodeType == 3 && !/\S/.test(node.nodeValue))
{
node.parentNode.removeChild(node);
}
}
}
</script> 


六.改变文档的层次结构
document.createElement()方法创建元素结点
eg:document.createElement("span")
document.createTextNode()方法创建文本结点
eg:document.createTextNode(" "); //注:他不会通过html编码,也就是说这里创建的不是空格,而是字符串  
appendChild()方法追加孩子节点
eg:parentElement.appendChild(childElement);
insertBefore()方法在元素前面插入子节点 
eg:parentNode.insertBefore(newNode,referenceNode); 
使用replaceChild方法取代子结点
-parentNode.replaceChild(newNode,oldNode); 
cloneNode方法复制结点
--node.cloneNode(includeChildren);
--includeChildren为bool,表示是否复制其子结点
使用removeChild方法删除子结点 
parentNode.removeChild(childNode); 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值