获取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 相关文章推荐
JS面向对象编程 for Cookie
Sep 19 Javascript
Jquery Uploadify上传带进度条的简单实例
Feb 12 Javascript
node.js中的url.resolve方法使用说明
Dec 10 Javascript
Javascript中使用parseInt函数需要注意的问题
Apr 02 Javascript
jQuery滚动加载图片实现原理
Dec 14 Javascript
js时间比较 js计算时间差的简单实现方法
Aug 26 Javascript
AngularJS ng-repeat指令中使用track by子语句解决重复数据遍历错误问题
Jan 21 Javascript
微信小程序网络请求wx.request详解及实例
May 18 Javascript
JavaScript事件处理程序详解
Sep 19 Javascript
详解webpack编译多页面vue项目的配置问题
Dec 11 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
Feb 03 Javascript
react router4+redux实现路由权限控制的方法
May 03 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
咖啡豆分级制度 咖啡豆等级分类 咖啡豆是按口感分类的吗?
2021/03/05 新手入门
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
php树型类实例
2014/12/05 PHP
php跨服务器访问方法小结
2015/05/12 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
js右键菜单效果代码
2007/07/21 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
jQuery实现图片加载完成后改变图片大小的方法
2016/03/29 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
微信小程序自定义组件
2017/08/16 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
python实现任意位置文件分割的实例
2018/12/14 Python
python编写简单端口扫描器
2019/09/04 Python
pytorch数据预处理错误的解决
2020/02/20 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
adidas旗下高尔夫装备供应商:TaylorMade Golf(泰勒梅高尔夫)
2016/08/28 全球购物
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
音乐剧猫观后感
2015/06/04 职场文书
2019奶茶店创业计划书范本,值得你借鉴
2019/08/14 职场文书
Javascript之datagrid查询详解
2021/09/15 Javascript
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL