Originariamente inviato da Mega69
Per adesso è più un esperimento che altro, visto che grazie a questa libreria sto imparando parecchie cose.
e questo è un bene 
Originariamente inviato da Mega69
Intendi che ciò potrebbe essere svantaggioso per un for-in o c'è qualche altra ragione?
è una cattiva abitudine, che spesso ho anche io, quella di sfruttare gli elementi come oggetti dinamici ai quali aggiungere valori arbitrari al fine di aiutare lo script del momento.
Esempio ... sfrutto un toggle(element) dove nella toggle metto hide = true o hide = false a seconda che sia visualizzzato o meno ... purtroppo l'accortezza di usare prefissi o nomi proprietari è scomoda (element.__andr3a_hide = true .. o false) quindi io con un'altra funzione ed il tuo script incluso rischio di far danni alla tua lib e vice-versa tu rischi di farne alla mia.
Questa è un'abitudine alla prototype che personalmente non condivido affatto e che non a caso rende prototype la lib nemica numero 1 se tu vuoi anche aggiungere codice tuo o altre librerie (prototype sovrascrive anche metodi non standard o anche con nomi standard ma non conformi con gli stessi)
A te difficilmente accadrà di sovrascrivere qualcosa, madato che la proponi forse dovresti scrivere fin da subito che potrebbero esserci problemi di compatibilità (pensa alla banale $("myid") di prototype che ogni volta risovrascrive i tuoi metodi)
Originariamente inviato da Mega69
Questo l'ho fatto giusto per risparmiare qualche byte...
un problema da dimenticare grazie alla packer o, nel mo caso, grazie alla GzOutput
Originariamente inviato da Mega69
E' una mia brutta abitudine... Mi sa che passerò alla "nuova" ( esiste già da un pezzo ) e corretta ( visto che una collezione di oggetti è un oggetto ) notazione.
codice:
<script type="text/javascript"><!--//
onload = function(){
for(var tmp = document.getElementsByTagName("*"), result = new Array(tmp.length + 1), i = 0; i < tmp.length; i++)
result[i] = [tmp[i], tmp[i].constructor, "Instance of HTMLElement: ".concat(tmp[i] instanceof HTMLElement)];
result.unshift([tmp, tmp.constructor, "Instance of HTMLCollection: ".concat(tmp instanceof HTMLCollection)]);
alert(result.join("\n"));
}
//--></script>
Originariamente inviato da Mega69
In effetti devo aggiungere qualche commento sia per quanto riguarda il fatto del document.createElement, sia per la funzione setAttributes ( non proprio copiata, ma ispirata da DOMass ).
Anche quella del drag and drop l'ho presa da DinamicDrive, ma di quella ho gia messo il commento.
Mi sa che mettero tutto nei credit, con rispettivi link ( compreso il tuo ovviamente )
ecco, bravo
(o meglio, se la pubblichi e non ci sono credits qualcuno potrebbe prendersela a male e farti perdere di credibilità [codice proposto come mio che mio non è])
Originariamente inviato da Mega69
EDIT:
Grazie per la pazienza dimostrata a leggere il codice.
di nulla, ma se ci pensi, come poter giudicare altrimenti ? 
( non ti dico per fare l'articolo sui frameworks JavaScript che sbattimento assurdo
)