获取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);
};



相关阅读:
HTML 5 预览
原创]站长感慨asp编程究竟何去何从" target="_blank">[原创]站长感慨asp编程究竟何去何从
php中使用cookie来保存用户登录信息的实现代码
配置Windows Server 2008防火墙让系统更安全
asp 网站静态化函数代码html
Windows2003系统十例最新配置技巧
CSS入门常见问答
F#教程:不变性
微软开始提供Vista SP2更新拦截工具
Oracle 11g新特性之INTERVAL分区
Javascript延迟执行实现方法(setTimeout)
用ASP做的DNS LOOKUP程序
Windows XP操作系统崩溃,如何挽救?
磁盘分区格式变成RAW格式怎么办
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4