獲取DOM對象的幾種擴(kuò)展及簡寫
更新時間:2006年10月09日 00:00:00 作者:
參照prototype.js中g(shù)etElementsByClassName的思想,擴(kuò)展出幾種在DEOM操作中可經(jīng)常用到的獲取對象的方法,使用獲取對象變得更方便、更精確了:
document.getElementsByClassName = function(className,oBox) {
//適用于獲取某個HTML區(qū)塊內(nèi)部含有某一特定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區(qū)塊內(nèi)部同屬于某一特定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);
};
document.getElementsByClassName = function(className,oBox) {
//適用于獲取某個HTML區(qū)塊內(nèi)部含有某一特定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區(qū)塊內(nèi)部同屬于某一特定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);
};
您可能感興趣的文章:
相關(guān)文章
JavaScript將一個數(shù)組插入到另一個數(shù)組的方法
這篇文章主要介紹了JavaScript將一個數(shù)組插入到另一個數(shù)組的方法,涉及javascript中Array.prototype.push.apply方法的使用技巧,非常具有實用價值,需要的朋友可以參考下2015-03-03
Javascript removeChild()刪除節(jié)點及刪除子節(jié)點的方法
這篇文章主要介紹了Javascript removeChild()刪除節(jié)點及刪除子節(jié)點的方法的相關(guān)資料,需要的朋友可以參考下2015-12-12
javascript 實現(xiàn)的多瀏覽器支持的貪吃蛇webgame
兼容FF IE的javascript版貪吃蛇游戲,非常厲害的高手。2008-01-01
javascript中的window.location.search方法簡介
window.location.search方法是截取當(dāng)前url中“?”后面的字符串,示例如下,感興趣的朋友可以參考下2013-09-09
JS是否可以跨文件同時控制多個iframe頁面的應(yīng)用技巧
這篇文章給大家詳細(xì)介紹了JS是否可以跨文件同時控制多個iframe頁面的應(yīng)用技巧,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2007-12-12
jQuery實現(xiàn)鼠標(biāo)放置名字上顯示詳細(xì)內(nèi)容氣泡提示框效果的方法分析
這篇文章主要介紹了jQuery實現(xiàn)鼠標(biāo)放置名字上顯示詳細(xì)內(nèi)容氣泡提示框效果的方法,結(jié)合實例形式分析了jQuery結(jié)合bootstrap插件實現(xiàn)的鼠標(biāo)響應(yīng)式提示框相關(guān)操作技巧,需要的朋友可以參考下2020-04-04

