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


Posted in Javascript onOctober 09, 2006

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

Javascript 相关文章推荐
JQUERY THICKBOX弹出层插件
Aug 30 Javascript
JavaScript DOM 学习第五章 表单简介
Feb 19 Javascript
仿jQuery的siblings效果的js代码
Aug 09 Javascript
javascript实现数组去重的多种方法
Mar 14 Javascript
基于JavaScript实现回到页面顶部动画代码
May 24 Javascript
JavaScript之iterable_动力节点Java学院整理
Jun 29 Javascript
angular2路由切换改变页面title的示例代码
Aug 23 Javascript
详解node单线程实现高并发原理与node异步I/O
Sep 21 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
微信小程序实现发送验证码按钮效果
Dec 20 Javascript
CocosCreator如何实现划过的位置显示纹理
Apr 14 Javascript
js几个不错的函数 $$()
Oct 09 #Javascript
使用Javascript和DOM Interfaces来处理HTML
Oct 09 #Javascript
激活 ActiveX 控件
Oct 09 #Javascript
自动更新作用
Oct 08 #Javascript
许愿墙中用到的函数
Oct 07 #Javascript
解放web程序员的输入验证
Oct 06 #Javascript
通过ifame指向的页面高度调整iframe的高度
Oct 05 #Javascript
You might like
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
解析link_mysql的php版
2013/06/30 PHP
CI框架Session.php源码分析
2014/11/03 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
php四种定界符详解
2017/02/16 PHP
jquery BS,dialog控件自适应大小
2009/07/06 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
JS中prototype关键字的功能介绍及使用示例
2013/07/21 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
Jquery uploadify 多余的Get请求(404错误)的解决方法
2017/01/26 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
Diptyque英国官方网站:源自法国的知名香氛品牌
2019/08/28 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
Android面试宝典
2013/08/06 面试题
父亲生日宴会答谢词
2014/01/10 职场文书
《争吵》教学反思
2014/02/15 职场文书
委托公证书
2014/04/08 职场文书
奥巴马竞选演讲稿
2014/05/15 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
Python函数式编程中itertools模块详解
2021/09/15 Python
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫