Hola,
Hice este codigo para selecionar los objetos como en jquery (#id o .class o tag).
Los formatos que acepta:
ID:
Cita: #ID (<div id="mi_id">) esto selecionara el id de cualquier tag
TAG#ID(<p id="id">) esto solo selecionara el id del tag elejido
TAG#ID TAG(<p id="id"><div>) esto selecionara los tag del id
#ID TAG (<div id="id"><p>) esto selecionara todos los tag del id
CLASS:
Cita: .CLASS
TAG.CLASS
TAG.CLASS TAG
TAG:
El codigo es:
Código javascript
:
Ver original/**
* EasySelector
* BY: pato12 de forosdelweb.com
* WEBS: halfmusic.com - halfwars.com
***/
var EasySelector=function(selector){
var DOMs=[];
if(selector.indexOf("#")>=0||selector.indexOf(".")>=0){
var sep=selector.indexOf("#")>=0?selector.split("#"):selector.split(".");
if(selector.indexOf("#")!=-1){
if(selector.indexOf(" ")==-1 && sep[0]=='')return [document.getElementById(sep[1])];
var TagID=sep[0],sep=sep[1].split(' ');
if(TagID!=''){
for(var e=0,total=document.getElementsByTagName(TagID);e<total.length;e++){
if(total[e].id==sep[0]){
if(selector.indexOf(" ")==-1){
DOMs.push(total[e]);
}else{
dom=total[e].getElementsByTagName(sep[1]);
for(var i=0;i<dom.length;i++)
DOMs.push(dom[i]);
}
break;
}
}
return DOMs;
}
}
var v=document.getElementsByTagName(sep[0]==''?'*':sep[0]),s=sep[1].indexOf(" ")>=0?sep[1].split(' '):false,tag=!s?false:s[1],classNameBuscar=tag?sep[1].split(' ')[0]:sep[1];
for(var i=0;i<v.length;i++){
for(var j=0,c=v[i].className.split(" ");j<c.length;j++){
if(c[j]==classNameBuscar){
if(!tag)
DOMs.push(v[i]);
else{
t=v[i].getElementsByTagName(tag);
for(var k=0;k<t.length;k++)
DOMs.push(t[k]);
}
}
}
}
return DOMs;
}else{
var tags=document.getElementsByTagName(selector);
for(var i=0;i<tags.length;i++)
DOMs.push(tags[i]);
return DOMs;
}
};
Lo pueden usar con este otro script:
Código javascript
:
Ver originalArray.prototype.each=function(fn){
if(this.constructor === Array || typeof fn == 'function'){
for(var i=0,total=this.length;i<total;i++)
fn.call(this[i]);
}
};
Ejemplo de uso:
Código javascript
:
Ver originalwindow.onload=function(){
EasySelector('div').each(function(){
this.style.color='#FFF';
});
};
Gracias
Salu2