[HTML / CSS / JS] relatief aanroepen van een div

Pagina: 1
Acties:
  • 261 views sinds 30-01-2008
  • Reageer

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
Hoi

Mijn dreamweaver (2004) wil niet meer opstarten en nu zit ik zonder reference voor JS/HTML.

heb de volgende html:

HTML:
1
2
3
4
5
6
7
8
9
<div>
   <a href="javascript:show(this, "doh")">doh</a>
   <a href="javascript:show(this, "yeah")">yeah</a>
   <a href="javascript:show(this, "ooh")">ooh</a>

   <div id="doh" style="hidden">doh</id>
   <div id="yeah" style="hidden">yeah</id>
   <div id="ooh" style="">ooh</id>
</div>


met als doel: klick op een hyperlink en de desbreffende div showed en de ander verdwijnen. Mara ik snap geen fluit van hoe ik die nameless div moet aanroepen en dan te iteraten over de sub-divs... kan dit zowieso? wil liefst geen "getElementByID" gebruiken ...

  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

je kunt door de getElementsByTagname("div") heen lopen om alle divs te zien.

Dit hoort overigens in Webdesign & Graphics

Verwijderd

document.getElementsByTagName
Node.childNodes
Node.lastChild
Node.nextSibling

In general: hiervoor is er dus DOM.

Verwijderd

nm

[ Voor 93% gewijzigd door Verwijderd op 08-05-2004 16:55 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 12:42

crisp

Devver

Pixelated

gewoon bijhouden welke div je open hebt staan, dan weet je ook welke je moet verbergen als een volgende aangeklikt wordt. Echt gewoon basis logica hoor ;)

Wat is trouwens het probleem met getElementById? Je geeft je divs toch id's - waarom zou je ze dan niet gebruiken?

[ Voor 29% gewijzigd door crisp op 08-05-2004 16:59 ]

Intentionally left blank


  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
current_id = "";

function show(element, id)
{
  if ( current_id != "" )
  {
    document.getElementById(current_id).style.display = "hidden";
  }
  current_id = id;
  document.getElementById(id).style.display = "block";
  // + doe iets met element...
}

style="hidden" => style="display: hidden;"

Dat lijkt me toch het makkelijkst

Noushka's Magnificent Dream | Unity


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
bestaat er echt niet zoals "parent" ofzo...

het probleem is dus dat er meerdere DIV met dezelfde ID's in het document kunnen staan (de html wordt gecreerd en dit is een stukje van iets) (ie het blokje kan wel x-aantal keer voorkomen) vandaar ik dus zocht naar een soort van parent.childNodes().

Bijhouden is idd wel leuk maar moeilijk met het probleem dat die blok meerdere malen voor kan komen. Ik zie dus de nameless DIV als container ...

en dat hardcoden vind ik maar vies ;)...

edit:
btw tis voor het hidden van 6/7 tal evengrote textarea's met in elke textarea een andere taal voor hetzelfde veld...

natuurlijklijk kunnen er meerdere multitalige velden in 1 form staan...

[ Voor 24% gewijzigd door hobbit_be op 08-05-2004 17:58 ]


Verwijderd

hobbit_be schreef op 08 mei 2004 @ 17:56:

het probleem is dus dat er meerdere DIV met dezelfde ID's in het document kunnen staan (de html wordt gecreerd en dit is een stukje van iets) (ie het blokje kan wel x-aantal keer voorkomen) vandaar ik dus zocht naar een soort van parent.childNodes().
parentNode.childNodes dus.

Maar sowieso mogen er niet meerdere elementen met hetzelfde id voorkomen. Een identifier hoort naar één bepaald element te verwijzen. Dat is het idee van een id.
Om gerelateerde elementen te kunnen herkennen kun je het class attribuut gebruiken.

[ Voor 7% gewijzigd door Verwijderd op 08-05-2004 18:24 ]


  • MarkvE
  • Registratie: Maart 2004
  • Laatst online: 30-01-2025
Michali schreef op 08 mei 2004 @ 17:18:

style="hidden" => style="display: hidden;"

Dat lijkt me toch het makkelijkst
Naar mijn geweten is het nog altijd display: none;, er bestaat ook nog een visibility: hidden; maar dat zorgt ervoor dat het betreffende object niet te zien is maar nog wel qua "vorm" en positie in de layout aanwezig is. Met display: none; zorg je ervoor dat het object echt "verdwijnt".

[ Voor 29% gewijzigd door MarkvE op 08-05-2004 21:34 ]

Vormkracht10


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 11:53

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Pagina: 1