Visa ett inlägg
Oläst 2007-09-12, 15:04 #6
matlin matlin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2004
Inlägg: 53
matlin matlin är inte uppkopplad
Medlem
 
Reg.datum: Nov 2004
Inlägg: 53
Citat:
Originally posted by martine@Sep 4 2007, 13:05
Ingen som hört talas om DOM?? Att tynga ner sidan med så mycket repetitiv kod och dessutom med så många class:er och id:ar är ju egentligen inte alls nödvändigt…
Kod:
<div id="hiddendivs">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
med
Kod:
document.getElementById('hiddendivs').childNodes[];
och iterera igenom istället för att köra getElementById();

Det finns ju massa bra funktioner för att få tag på vad man behöver i dokumentstrukturen, get ElementByNames(), .firstChild, .lastChild, .nextSibling, .parentNode osv. Man kan navigera runt i dokumentstrukturen hur fint som helst utan att sätta id på allting!

Glöm inte: ditt html-dokument är ett objekt, inte en hög taggar!

Edit: Detta gäller förstås lika mycket för css
Kod:
div#hiddendivs>div {display: none}
Kom ihåg att
Kod:
document.getElementById('hiddendivs').childNodes[];
även returnerar "white-space"-nodes...
Alltså, när du loopar igenom dom så kontrollera att
Kod:
element.nodeType==1
(eller Node.ELEMENT_NODE, fast jag har för mig att det inte fungerar i IE).
Annars får du krasch.
matlin är inte uppkopplad   Svara med citatSvara med citat