活动公告当前位置:风暴娱乐 > 活动公告 > >

风暴娱乐:获取DOM对象的几种扩展及简写

  

[获取DOM对象的几种扩展及简写]获取DOM对象的几种扩展及简写

  参照prototype.js中getElementsByClassName的思想,扩展出几种在DEOM操作中可经常用到的获取对象的方法,使用获取对象变得更方便、更精确了:  
document.getElementsByClassName = function(className,oBox) {  
//适用于获取某个HTML区块内部含有某一特定className的所有HTML元素  
this.d= oBox || document;  
var children = this.d.getElementsByTagName('*') || document.all;  
var elements = new Array();  
for (var ii = 0; ii < children.length; ii++) {  
var child = children[ii];  
var classNames = child.className.split(' ');  
for (var j = 0; j < classNames.length; j++) {  
if (classNames[j] == className) {  
elements.push(child);  
break;  
}  
}  
}  
return elements;  
}  
  
document.getElementsByType = function(sTypeValue,oBox) {  
//适用于获取某个HTML区块内部同属于某一特定type的所有HTML元素,如:input,script,link等等  
this.d= oBox || document;  
var children = this.d.getElementsByTagName('*') || document.all;  
var elements = new Array();  
for (var ii = 0; ii < children.length; ii++) {  
if (children[ii].type == sTypeValue) {  
elements.push(children[ii]);  
}  
}  
return elements;  
}  
  
function $() {  
var elements = new Array();  
for (var ii = 0; ii < arguments.length; ii++) {  
var element = arguments[ii];  
if (typeof element == 'string')  
element = document.getElementById(element);  
if (arguments.length == 1)  
return element;  
elements.push(element);  
}  
return elements;  
}  
  
$Cls = function (s,o){  
return document.getElementsByClassName(s,o);  
};  
  
$Type = function (s,o){  
return document.getElementsByType(s,o);  
};  
  
$Tag = function (s,o){  
this.d=o || document;  
return this.d.getElementsByTagName(s);  
};  
  
$Name = function (s){ //通过name的方式只能针对整个document而言,不能为其限定范围  
return document.getElementsByName(s);  
};

(责任编辑:admin)

上一篇:大神级产品经理和优秀产品经理的区别

下一篇:没有了

推荐内容

客户服务热线

010-400-12345

在线客服