Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z onload=function() w IE 6.0, Obiekt nie obsługuje tej właściwości lub metody
Pilsener
post 7.03.2009, 16:01:55
Post #1





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Witajcie, mam taki kodzik:
  1. <?php
  2. Object.prototype.getElementsByClassName=function(c){
  3.            for(var i=0,a=[],d;d=this.getElementsByTagName('*')[i++];){
  4.                if(RegExp('b'+c+'b','gi').test(d.className)){
  5.                    a.push(d);
  6.                }
  7.            }
  8.            return a;
  9.        }
  10.  
  11.         onload=function(){
  12. for(i=0;d=document.getElementsByClassName('test')[i++];){
  13.                d.setAttribute('style','background:yellowgreen');
  14.            }
  15.        }
  16. ?>



W FF ładnie mi koloruje tą klasę, a w IE wywala błąd. Doszedłem do tego, że to przez onload=function() - da się to zastąpić czymś innym? Zależy mi na prostocie, użyłbym id ale te nie mogą się powtarzać - chyba, że macie jakiś sposób, aby np. taki kod:
  1. <input id="a_1" />
  2. <input id="a_2" />
  3. <input id="a_3" />
  4. <input id="b_1" />
  5. <input id="b_2" />
  6. <input id="b_3" />
- "pokolorować" inputy tylko wg id b_*, nie znając liczby tych ID oczywiście.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
erix
post 7.03.2009, 22:02:27
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
W FF ładnie mi koloruje tą klasę, a w IE wywala błąd.

Z tego, co pamiętam, to w IE6 nie ma funkcji getElementsByClassName. Są obejścia, poszukaj. smile.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Pilsener
post 7.03.2009, 23:01:09
Post #3





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


No ale przecież ja definiuję tą funkcję, wykorzystując getElementsByTagName i regexpa - jak wstawiam cokolwiek do onload=function(){cokolwiek} to nie działa mi to w IE.
Go to the top of the page
+Quote Post
erix
post 7.03.2009, 23:25:08
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Zerknij tu:
http://lawrence.ecorp.net/inet/samples/js-...lement-ie.shtml
http://lawrence.ecorp.net/inet/samples/js-...lement-xb.shtml


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:30