Gå til innhold

Iterere over divs med className


Anbefalte innlegg

Jeg tror ikke helt jeg skjønner dette javascript greiene.. kan noen hjelpe meg med en i-mitt-hode-enkel affære?

 

har en funksjon som kjøres onload på body. den heter init();. og det jeg gjerne skulle hatt den til å gjøre er følgende:

 

På siden er det en lite drøss sånne her:

<div class="small alternateBox alternateBoxDark">
 <div class="name"><a>Navn</a> </div>
 <div class="remove"><a>Fjern</a> </div>
 <div class="url">
   <img class="x" src="" alt="" height="16px" width="16px" />
   [url=http://url]http://url[/url]
 </div>
</div>

 

Det jeg prøver å utføre er noe sånt som:

 

for alle divs med className="url"
 putt referanse til img i imageList array
 putt teksten, altså urlen i linkList array

 

Men jeg får det søren ikke til. Ender bare opp med tomme arrays, og jeg begriper ikke hvorfor... :dontgetit:

Endret av Tussi_qwerty
Lenke til kommentar
Videoannonse
Annonse

Det er desverre ingen funksjon som heter getElementsByClass. Men titt litt på denne siden http://domscripting.com/blog/display/18

 

Det du også kan gjøre er noe sånt som dette:

 

function init() {
 var imageList = new Array();
 var linkList = new Array();

 var images = document.getElementsByTagName('img');
 for (i = 0; i < images.length; i++) {
   if (images[i].className == 'x') {
     imageList.push(images[i]);
     linkList.push(images[i].alt);
   }
 }
}

 

Denne forutsetter at du setter linken bildet peker til i ALT teksten på <img> taggen. Du kan gjøre det ved at du henter images sin parent tag (DIV'en i dette tilfellet) og henter innholdet i den. Men den koden har jeg ikke i hodet ;)

-C-

Endret av ChristianW
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...