Avatar billede qualon1 Nybegynder
07. april 2007 - 21:32 Der er 4 kommentarer

Gennemløbe en række id array

Hej

Jeg har en række <tr> med nogle id, fx:
<tr id=traffic[]></tr>
<tr id=traffic[]></tr>
<tr id=backup[]></tr>
osv

Så vil jeg gerne at et javascript kan gennemløbe fx det ID som hedder traffic og hente hver element ud så jeg kan lave style om eller sådan noget.
Jeg har prøvet:

var i=0
for (i=0;i<=document.getElementsById(value).length;i++) {
}
Avatar billede roenving Novice
07. april 2007 - 23:54 #1
For det første skal du sætte gåseøjne (eller apostroffer !-) rundt om id'et, og da id'er betyder unik identifikator, kan du selvfølgelig ikke have flere, der er ens (det kan man godt med formfelters navne, men altså ikke med id'er !-)

-- men det behøver ikke at være et problem, for hvis du f.eks. giver dem en fortløbende nummerering er det ikke svært at hive fat i dem (og det er heller ikke svært, men bare mere omstændeligt, hvis der ikke er fortløbende numre !-)

f.eks.

<tr id="traffic0"></tr>
<tr id="traffic1"></tr>
<tr id="backup0"></tr>

var i=0;
while(document.getElementById("traffic"+i)){
  //gør noget med elementet, f.eks. sæt baggrundsfarve:
  document.getElementById("traffic"+i++).style.backgroundColor = "red";
  //Hvis du skal gøre flere ting, er det fornuftigst at fange elementet i en variabel !o]
}
Avatar billede qualon1 Nybegynder
08. april 2007 - 14:31 #2
mange tak for hjælpen, det var lige hvad jeg skulle bruge
Avatar billede roenving Novice
08. april 2007 - 14:36 #3
Velbekomme '-)
Avatar billede roenving Novice
08. april 2007 - 14:48 #4
-- og nemt kan det gøres:

<script type="text/javascript">
function toggle(id){
  var i = 1,elm;
  while(elm = document.getElementById(id + i++)){
    elm.style.backgroundColor = elm.style.backgroundColor ? "" : "red";
    elm.style.fontWeight = elm.style.fontWeight ? "" : "900";
  }
}
</script>

<button name="button2" id="button2" onclick="toggle('o');">Toggle ulige</button>
<button name="button2" id="button2" onclick="toggle('e');">Toggle lige</button>

<table>
  <tr id="o1">
    <td>Første celle</td>
    <td>Anden celle</td>
    <td>Tredje celle</td>
  </tr>
  <tr id="e1" style="font-weight:900;">
    <td>Første celle</td>
    <td>Anden celle</td>
    <td>Tredje celle</td>
  </tr>
  <tr id="o2">
    <td>Første celle</td>
    <td>Anden celle</td>
    <td>Tredje celle</td>
  </tr>
  <tr id="e2" style="font-weight:900;">
    <td>Første celle</td>
    <td>Anden celle</td>
    <td>Tredje celle</td>
  </tr>
  <tr id="o3">
    <td>Første celle</td>
    <td>Anden celle</td>
    <td>Tredje celle</td>
  </tr>
</table>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester