Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: jQueryn show() ja hide() ei toimi IE:ssä

Olli [31.05.2012 14:42:39]

#

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

The Alchemist [31.05.2012 15:35:47]

#

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!

http://validator.w3.org/

Olli [31.05.2012 20:43:09]

#

Chromen kanssa tuo toimi aivan oikein, vaikka divit olivatkin.

Metabolix [31.05.2012 21:20:11]

#

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.

Grez [31.05.2012 21:38:39]

#

Yleisestikin ottaen ohjelmoinnissa on turha ihmetellä ongelmia, jos koodi on virheellistä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta