Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Treść komórki - innerText?
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Zajec
Mam problem z moją mini-stroną we wszystkim innym niż Opera. Funkcja "kolor", sprawdzająca zawartość komórek tabeli z jakiegoś powodu nie chce działać w FF, K i IE.

Link do strony: http://ogame.zajec.net/
Link do skryptu: http://ogame.zajec.net/js

Czy ktoś widzi może przyczynę takiego zachowania? W Firefoksie cells[i].innerText zwraca "undefined".
siemakuba
troche sprawdzilem co i jak, niestety chwilowo brak czasu więcej, więc piszę co mam.

Z testów wyszło, że cells[i] ma nodeType = 1, wiece jest to element a nie node tekstowy (nodeType == 3). Skoro tak, tekst bedzie jako pierwsze dziecko cells[i].

Kod
// zamiast
if (cells[i].nodeValue == tekst)
{
}
// zrobilem
if (cells[i].firstChild && cells[i].firstChild.nodeType == 3 && cells[i].firstChild.nodeValue == tekst)
{
}

robiłem to pod FF 1.5 i zadziałało - pokolorowało treść odpowiednich komórek. Jak na wstępie, z powodu braku czasu zostawiam cię z tym :) myślę, że dalej powinno pójść z górki, chociaż nie wykluczone że mogą się pojawić dziwne historie z koleji teraz w IE i Operze.

pozdr.
Zajec
Super odpowiedź, dziękuję :-) Brakowało mi właśnie tego "nodeValue".

Teraz śmiga na FF i Operze - starczy :-)

Swoją drogą dziwne, że Konqueror tego nie rozumie. Zawsze dobrze stał ze standardami i JS.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.