Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z onload=function() w IE 6.0
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Pilsener
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.
erix
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
Pilsener
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.
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.