
Zitat von
kkapsner
IE5? Ist nicht dein Ernst. Der ist tot! Und wer ihn benutzt, ist selbst schuld.
Hab seid 2 Jahren nicht mehr wirklich Javascript und co gecodet für mich is der noch da. xD Aber selbst wenn ausgestorben möchte ich doch das es so ziehmlich überall funkt 

Zitat von
kkapsner
Das ist ja ein lustiges Konstrukt... warum machst du nicht einfach nur
Code:
return obj.classList.contains(clas);
?.
Weil ich nicht drann gedacht habe das dass ja auch true oder false liefert xDD
so siehts jetzt aus:
Code:
_$ = function(clas, parent){
var ret = [];
var pardoc = document.getElementById(parent) || document;
if(pardoc.getElementsByClassName){
var obj = pardoc.getElementsByClassName(clas);
for(var i=0, l=obj.length; i<l; i++){
ret.push(obj[i]);
}
}else if(document.querySelectorAll){
var query = parent ? '#'+parent+' .'+clas : '.'+clas;
var obj = document.querySelectorAll(query);
for(var i=0, l=obj.length; i<l; i++){
ret.push(obj[i]);
}
}else{
var obj = (document.getElementById(parent) || document.body).getElementsByTagName('*');
obj = obj[0] ? obj : document.all;
for( var i=0, l=obj.length; i<l; i++){
if(hasClass(obj[i], clas)){
if(obj != document.all ||
(obj == document.all && !parent) ||
(parent && obj[i].parentNode.id === parent)){
ret.push(obj[i]);
}
}
}
}
return ret;
}
hasClass = function(obj, clas){
var clas_erg = [];
if(obj.classList){
return obj.classList.contains(clas);
}else if(obj.className){
clas_erg = obj.className != "" ? obj.className.split(" ") : null;
}else if(obj.getAttribute("class")){
clas_erg = obj.getAttribute("class") != "" ? obj.getAttribute("class").split(" ") : null;
}else return false;
if(clas_erg == null) return false;
for(var i=0, l=clas_erg.length; i<l; i++){
if(clas_erg[i] === clas) return true;
}
return false;
}
ps.: endlich machts der IE8 xDD
Lesezeichen