一些常用的跨浏览器DOM操作(next,prev,children)

以前一直没有细心去探究这些个浏览器的dom操作,所有很有必要总结一下。

一是为了自己以后不再出错;

二是避免自己以后有疑问就去找;

总之就是有必要总结一下:

function $(a){
	return document.getElementById(a);
}
// IE 下如果节点是内联元素(非样式设置:display:block)则获取的nextSibling的节点为文本节点(没有空格除外)
// eg: 
// <span id="tt">tt</span> <span>aa</span> $('tt').nextSibling.nodeType == 3
// <p id="tt">tt</p> <p>aa</p> $('tt').nextSibling.nodeType == 1
// <p id="tt">tt</p> me <p>aa</p> $('tt').nextSibling.nodeType == 3
// 同理getPrev

// 获取下一个子节点
function getNext(el){
	var next = el.nextElementSibling||el.nextSibling;
	if(next.nodeType != 1) return arguments.callee(next);
	return next;
}
// 获取上一个子节点
function getPrev(el){
	var prev = el.previousElementSibling||el.previousSibling;
	if(prev.nodeType != 1) return arguments.callee(prev);
	return prev;
}
// 获取第一个节点
function getFirstChild(el){
	var first = el.firstElementChild||el.firstChild;
	if(first.nodeType != 1) return arguments.callee(first);
	return first;
}
// 获取最后一个节点
function getLastChild(el){
	var last = el.lastElementChild||el.lastChild;
	if(last.nodeType != 1) return arguments.callee(last);
	return last;
}
// 获取所有的HTMLELEMENT孩子节点
function getChildren(el){
	return el.children;
}
// 获取所有孩子节点
function getChildNodes(el){
	return el.childNodes;
}
就这样吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值