JavaScript: nextSibling v Internet Exploreru 9

Ve starší verzi Internet Exploreru (8 a starší) funguje následující kód tak, že spočítá počet buněk (TD elementů) v řádku tabulky.

while(selector_bunek_tabulky.nextSibling)
 {
   celkovy_pocet++;
   selector_bunek_tabulky=selector_bunek_tabulky.nextSibling;
}

Naproti tomu v IE9 (jiné prohlížeče jsem netestoval) spočítá 2x tolik elementů, protože jsou započítány i konce řádků a obsah (některých – nemám plně ověřeno) buněk. Řešení je následující:

while(selector_bunek_tabulky.nextSibling)
 {
 // pokud se jedna o ELEMENT_NODE
 if (selector_bunek_tabulky.nodeType==1)
   celkovy_pocet++;
selector_bunek_tabulky=selector_bunek_tabulky.nextSibling;
}

Přehled typů uzlů lze zjistit na http://www.javascriptkit.com/domref/nodetype.shtml.

 

 

 

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *