Gå til innhold

‘document.getElementById(…)’ is null or not an object


Anbefalte innlegg

Hei, jeg får meldingen "‘document.getElementById(…)’ is null or not an object" i IE6 og IE7 med ett script som gjør det mulig å vise sidelengs liste ved hover i en navigasjon.

 

Scriptet ser slik ut og jeg lurer da på hva som forsårsaker denne meldingen?:

startList = function() {
if (document.all&&document.getElementById) {
	navRoot = document.getElementById("nav");
	for (i=0; i<navRoot.childNodes.length; i++) {
		node = navRoot.childNodes[i];
		if (node.nodeName=="LI") {
			node.onmouseover=function() {
				this.className+=" over";
			}
			node.onmouseout=function() {
				this.className=this.className.replace(" over", "");
			}
		}
	}
}
}
window.onload=startList;

 

Jeg har kun _1_ "nav" ID.

 

Er ikke veldig glup med JS, så kan noen prøve å debugge hva som skaper meldingen.

Hele meldingen er i attachment

post-56788-1241275982_thumb.jpg

Endret av Airborne
Lenke til kommentar
Videoannonse
Annonse
  • 3 uker senere...
Gjest Slettet+9871234
Det finnes ingen element med id="nav" .

Ja det elementet må være definert med en entydig id.

 

Merk for øvrig at Internet Explorer til og med versjon 8 ikke er en W3C DOM "cpmpliant" nettleser, som Google Chrome, FF, Opera, ...

 

Det gjør at man ofte må skrive egne hacks for IE når man opererer på DOM objekter. Den moderne metoden til å oppdage om en nettleser støtter en metode er "feature sniffing."

 

Her http://www.kjellbleivik.com/bt.htm kan du teste om du bruker en W3C DOM "compliant" nettleser.

 

KBleivik

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...