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

Javascript
JS幻想 读取二进制文件
javascript 层展开/关闭,带缓冲效果
仿淘宝首页分类列表效果实现代码
javascript 像素拼图实现代码
javascript+css 新闻显示tab 选项卡效果
[转]去百度面试的javascript 收获
用JavaScript显示随机图像或引用
一个类似vbscript的round函数的javascript函数
JavaScript 学习点滴记录
Js 获取HTML DOM节点元素的方法小结
在线编辑器中换行与内容自动提取
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
javascript 绘制矩形框
纯JS 绘制数学函数
javascript Excel操作知识点
jQuery 注意事项 与原因分析
JQuery 初体验(建议学习jquery)
RGB颜色值转HTML十六进制(HEX)代码的JS函数
JavaScript 使用技巧精萃(.net html
js tab 选项卡

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 452 ::
收藏到网摘: 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);
};