PDA

View Full Version : [Javascript] Lista nodi


biowep
23-01-2012, 21:01
Salve
Ho bisogno di inviare ad una funzione tutti gli elementi di un documento aventi una certa classe.
Per prendere questi elementi utilizzo la funzione $$() di mootools che a quanto pare restituisce un array-like object che sinceramente non ho idea di cosa sia... voglio dire o è un array o non lo è (purtroppo non ho nessuna esperienza in javascript)
http://mootools.net/docs/core/Element/Element#Window:dollars

se conoscete, consigliatemi una funzione migliore per prendere gli elementi di una classe, so che c'è .getElementsByClassName() ma non viene supportato da ie8 e precedenti

questi elementi ritornati devo inviarli uno per uno ad una funzione
var expchildren=$$('.expchildren');
for(i=0; i<=expchildren.length; ++i) fullHeight(expchildren.item(i));

come potete vedere per riferirmi ai vari elementi utilizzo item(i) come consiglia la guida DOM (http://javascript.html.it/guide/lezione/816/recuperare-gli-elementi/)

Mi sa che ho fatto un po di casino quindi vi espongo il problema e magari mi potete aiutare
Voglio fare in modo che di tutti gli elementi (div) aventi classe "expchildren" gli elementi contenuti all'interno come figli (primo livello) vengano espansi alla dimensione del contenitore "expchildren"

ho pensato di fare in questo modo
function fullHeight(a){
var elem=a.childNodes;
var h=a.getSize().y-1;//-1 per il bordo inferiore (border-bottom:1px solid black)
var i;
for(i=0; i<=elem.length; ++i) elem.item(i).setStyle('min-height', h);//imposta altezza minima
}
window.addEvent('load', function(){//parte dopo il caricamento
var expchildren=$$('.expchildren');
for(i=0; i<=expchildren.length; ++i) fullHeight(expchildren.item(i));
document.getElementsByClassName(
});

biowep
25-01-2012, 20:31
qualcuno mi sa aiutare?

per chi: non l'ho leggero mai, troppo lungo

voglio espandere in altezza tutti gli elementi figli (del livello immediatamente inferiore) di tutti gli elementi della pagina aventi classe expchildren e per farlo posso usare soltanto il framework mootools (anche non usarlo ovviamente), non voglio caricare altro codice