js如何扩展DOM对象

来源:爱站网时间:2022-03-21编辑:网友分享
很多朋友都想知道js如何扩展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  var child = children[ii];
var classNames = child.className.split(' ');
for (var j = 0; 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  if (children[ii].type == sTypeValue) {
elements.push(children[ii]);
}
}
return elements;
}

function $() {
var elements = new Array();
for (var ii = 0; 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);
}; 

以上就是“js如何扩展DOM对象”的全部内容了,如果你觉得这篇文章没看过瘾的,可以来爱站技术频道网站给小编留言,小编会帮大家解决问题。

上一篇:推荐几个好用的js函数

下一篇:base.js所包含哪些内容

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载