jQueryn show()
ja hide()
eivät jostain syystä toimi IE8:ssa. Niillä ei ole mitään vaikutusta. Voisiko tämä johtua siitä että piilotettavat elementit ovat dl
-tagin sisällä? Elementit eivät myöskään mene piiloon, vaikka annan css:llä niille display:none
.
Lisäys:
Sain ratkaistua tämän avulla:
http://www.brentsowers.com/2007/11/putting-div-inside-of-dl-breaks.html
Kannattaisi käydä läpi HTML:n perusteet. Kuten HTML5:n määrityksissä sanotaan, niin dl-elementillä saa olla suorina jälkeläisinä vain dt- ja dd-elementtejä. Sama pätee myös HTML4:ssä ja XHTML:ssä. Selaimen DOM-parseri yleensä poistaa kaiken muun, roskan, DOM-puusta, siksi divit häviävät.
Chromessa on natiivisti Element inspector ja Firefoxiin moisen saa esimerkiksi Firebug-liitännäisen asentamalla. Niiden avulla voi tarkastella DOM-puuta sellaisena kuin selain sen näkee (eli virheet korjattuina).
Ja viimeisenä: validoi dokumenttisi!
Chromen kanssa tuo toimi aivan oikein, vaikka divit olivatkin.
On turha valittaa mistään nettisivujen ongelmasta, jos dokumenttia ei ole edes validoitu. Epävalidin koodin toiminta on tuurista kiinni, eikä yleensä voi sanoa, että se toimisi "oikein", koska sille ei ole missään määritelty "oikeaa" toimintatapaa. Tällä kertaa Chrome sattumalta tuotti viallisesta koodistasi sen lopputuloksen, jota odotit.
Yleisestikin ottaen ohjelmoinnissa on turha ihmetellä ongelmia, jos koodi on virheellistä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.