当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 获取DOM对象的几种扩展及简写

Javascript
js中几种去掉字串左右空格的方法
判断两种颜色值是否为相似颜色
关于键盘事件中keyCode、which和charCode 的兼容性测试
提高 DHTML 页面性能
漂亮的Slider效果类终于封装成功
注释的艺术——JS里直接写HTML,无需转义
用javascript实现无刷新更新数据的详细步骤 asp
Windows Live的@live.com域名注册漏洞 利用代码
只能输入小于最大数且是正整数的脚本
破除网页鼠标右键被禁用的绝招大全
escape、encodeURI、encodeURIComponent等方法的区别比较
URL编码转换,escape() encodeURI() encodeURIComponent()
使用javascript访问XML数据的实例
ie和firefox中img对象区别的困惑
utf8的编码算法 转载
Javascript六种风格的时间显示方式
JavaScript实现禁止后退的方法
从javascript语言本身谈项目实战
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
javascript实现划词标记划词搜索功能修正版

Javascript 中的 获取DOM对象的几种扩展及简写


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 246 ::
收藏到网摘: n/a

参照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);
};