Avatar billede ras2000 Nybegynder
05. februar 2001 - 11:10 Der er 2 kommentarer og
1 løsning

parent

Jeg skal bruge en kodestump der kan ændre en egenskab i alle \'børnene\' til forældrene i en container. Jeg ved det kan lade sig gøre, men jeg kan ikke få det til at virke. Er der nogen der er klogere end mig? Helt specifikt skal det være en menu der folder sig sammen/ud når man klikker på punkterne. Altså
<script type=\"text/javascript\">
function pushed(el) {
    for (var i=0; i<el.children.length; i++) el.children[i].style.display=el.children[i].style.display==\'none\'?\'\':\'none\'
}
</script>
</head>
<body>
her er listen
<ul>
  <li>A</li>
  <li><span onclick=\"pushed(parent.this)\">B</span></li>
    <ul style=\"display:none\">
      <li><span onclick=\"pushed(parent.this)\">et skjult punkt der vises når der klikkes på B</span></li>
        <ul style=\"display:none\">
          <li>endnu et underpunkt</li>
        </ul>
      <li>et skjult punkt der vises når der klikkes på B</li>
      <li>et skjult punkt der vises når der klikkes på B</li>
      <li>et skjult punkt der vises når der klikkes på B</li>
      <li>et skjult punkt der vises når der klikkes på B</li>
      <li>et skjult punkt der vises når der klikkes på B</li>
    </ul>
  <li>C</li>
</ul>
Avatar billede nixen Nybegynder
05. februar 2001 - 11:34 #1
Hej igen ras. Nu skal du høre:
løsning 1) det du kalder \"parent.this\" hedder i virkeligheden \"this.parentElement\" - det har så bare den ulempe at det du trykker på bliver skjult, mens underpunkterne bliver vist
løsning 2) glem den span du har sat omkring A,B og C og sæt istedet onclick-event-handleren på den LI der skal virke:
<ul>
<li onclick=\"pushed(this)>
  <ul style=\"display:none;\">
    <li>et underpunkt af A</li>
    <li>et underpunkt af A</li>
  </ul>
</li>
<li onclick=\"pushed(this)\">
  <ul style=\"display:none;\">
    <li>et underpunkt af B</li>
  </ul>
</li>
</ul>
Avatar billede ras2000 Nybegynder
05. februar 2001 - 11:40 #2
Og hej igen nixen
Jeg kan ikke se hvordan det løser mit problem, når jeg klikker på et underpunkt, vil det da stadig forsvinde, i stedet for at vise de nye underpunkter. Det var derfor jeg gerne ville have spannet, så virker onclick kun hvis jeg klikker på A. Problemet er jo under-underpunkter (og under-under-underpunkter osv). Det er et kæmpetræ der skal vises, med omkring 300 punkter.
Avatar billede ras2000 Nybegynder
05. februar 2001 - 11:59 #3
Nu skal du høre, jeg tror sgu jeg har fundet det! I stedet for at lade i gå fra 0 til .length, så kører jeg fra 1. Spannet vil altid være det første element. Jeg har lige prøvet det, og det virker bare. Om der kommer problemer i fremtiden, vil tiden vel vise, men indtil videre er det løsningen jeg kører med. Tak for din hjælp, jeg havde aldrig fundet ud af at det var parentElement. Det var vel det mit spørgsmål gik på. :)
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