Avatar billede bongo20 Nybegynder
12. april 2005 - 13:37 Der er 17 kommentarer og
1 løsning

loop i et document

Hej

Hvordan looper jeg igennem et document for at finde de objekter jeg skal bruge?

enten loope hele dokumentet eller en tabel?

:o)
Avatar billede hyberpreprocessor Nybegynder
12. april 2005 - 13:40 #1
huh ?

Du kan vel bare bruge document.getElementById() ?
Avatar billede bongo20 Nybegynder
12. april 2005 - 13:40 #2
ja men hvis jeg har 10 der hedder det samme får jeg kun fat i den ene jo
Avatar billede hyberpreprocessor Nybegynder
12. april 2005 - 13:45 #3
?-)

Man angiver kun ét ID !
Ellers kan du bruge document.getElementByTagName("DIV");

Kig her for en lign. spm: http://www.eksperten.dk/spm/488440
Avatar billede bongo20 Nybegynder
12. april 2005 - 13:48 #4
Hvis jeg nu ikke på forhånd ved om det er 12 eller 235 rækker i en tabel jeg skal have fat i, så vil jeg godt kunne løbe tabellen igennem og samle dem sammen jeg skal bruge
Avatar billede bongo20 Nybegynder
12. april 2005 - 14:05 #5
Ingen der kan fortælle mig hvordan jeg looper igennem et document?
Avatar billede skyggen2000 Nybegynder
12. april 2005 - 14:10 #6
prøv med

var hejArray = document.all.item("sammeNavn");

eller hvis det er fra en specifik form, går dette vidst lidt hurtigere:

var hejArray = obj.form.elements["sammeNavn"];
Avatar billede skyggen2000 Nybegynder
12. april 2005 - 14:11 #7
Man angiver kun ét ID ! -> yes men man kan med fordel have samme navn (name).

Til beregninger eller når siden postes til serveren fx.
Avatar billede bongo20 Nybegynder
12. april 2005 - 14:17 #8
jeg har omkring 1500 rækker i en tabel,. for hver af de rækker kan der være imellem 0 og 14 ekstra rækker som kun skal vises hvis der trykkes på rækken lige over.

dvs at jeg skal kunne finde de rækker der hører til under den trykkede række. Og jeg ved ikke på forhånd om det er 0 eller 5 eller noget andet indtil 14.

Så kan jeg vist ikke bare give dem et navn..
Avatar billede hyberpreprocessor Nybegynder
12. april 2005 - 14:19 #9
skyggen2000

Så bruger du class="" istedet for id="" , ID er kun for én og kun én
Avatar billede bongo20 Nybegynder
12. april 2005 - 14:22 #10
nej jeg giver dem id = row 1-2-3-4 osv og skal nok få fat i de rigtige rækker,.. jeg kan bare ikke huske hvordan jeg løber et document igennem,.. er der ikke en der kan vise mige det jeg ikke kan huske,..

Hvordan man laver en løkke i javascript der løber hele dokumentet igennem ???
Avatar billede bongo20 Nybegynder
12. april 2005 - 14:23 #11
for( i=0; i< "et eller andet"; i++)
{

}
Avatar billede hyberpreprocessor Nybegynder
12. april 2005 - 14:24 #12
Forresten er document.all noget M$ skrammel som kun virker i IE !

Brug document.getElements... istedet.
bongo20, kigget på linket i 3 kommentar ?
Avatar billede skyggen2000 Nybegynder
12. april 2005 - 14:25 #13
hvis du benytter class="sammeNavn", kan du så benytte samme notation til en hente dem frem?

Desuden tror jeg din fremgangsmåde (bongo) skal ændres en kende.

Når du opretter dit dokument, kender du de rækker der hører til de andre.
Dem der hører til pakkes ind i en div eller table, og som du kan skjule eller vise efter behov. I de forskellige hovedrækker, gemmer du navnet på tabellen der indeholder de rækker der hører til.

Så behøver du ikke køre dem alle igennem.
Avatar billede roenving Novice
12. april 2005 - 17:23 #14
Hrm, en simpel ide kunne være at give de rækker, som er 'mødre' et id og udelade det på de andre:

<style type="text/css">
.moder{cursor:pointer;}
.gem{display:none;}
</style>

<script type="text/javascript">
function visRaekker(elm){
  elm = elm.nextSibling;
  var vis = elm.style.display != 'block';
  while(elm && !elm.id){
    elm.style.display = vis?'block':'none';
    elm = elm.nextSibling;
  }
}
</script>

<table border="1">
  <tr id="gruppe1" onclick="visRaekker(this);" class="moder">
    <td>tekst1 - gruppe 1</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr class="gem">
    <td>tekst1</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr class="gem">
    <td>tekst1</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr id="gruppe2" onclick="visRaekker(this);" class="moder">
    <td>tekst1 - gruppe 2</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr class="gem">
    <td>tekst1</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr class="gem">
    <td>tekst1</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr id="gruppe3" onclick="visRaekker(this);" class="moder">
    <td>tekst1 - gruppe 3</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr id="gruppe4" onclick="visRaekker(this);" class="moder">
    <td>tekst1 - gruppe 4</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr class="gem">
    <td>tekst1</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
  <tr class="gem">
    <td>tekst1</td>
    <td>tekst2</td>
    <td>tekst3</td>
    <td>tekst4</td>
  </tr>
</table>

-- så forbryder man sig heller ikke mod den absolutte regel om, at der kun må være een unik identifikator i et dokument !-)
Avatar billede roenving Novice
12. april 2005 - 17:24 #15
-- og egentlig burde det være 'table-row', men da IE ikke kender den endnu, må 'block' holde for endnu engang !o]
Avatar billede olebole Juniormester
12. april 2005 - 17:41 #16
<ole>

- men du har stadig 1.500 rækker i din tabel - og det mindes jeg aldrig, jeg har set et hensigtsmæssigt eksempel på  ;o)

/mvh
</bole>
Avatar billede bongo20 Nybegynder
13. april 2005 - 07:37 #17
I skal alle have tak for inputtene, jeg brugte Skyygen2000' s eksempel og lavede en tabel med "de ekstra rækker" og gav tabellen et id.

Smider du et svar skyggen2000?

:o)
Avatar billede skyggen2000 Nybegynder
13. april 2005 - 09:18 #18
det får du så:)
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