IE6 i problem z display:table-row

ie6nomoreWdrażając kolejny firmowy projekt natknąłem się na pewien błąd. Mimo walidowania się kodu oraz poprawnego wyświetlania w nowoczesnych przeglądarkach, w IE6 otrzymywałem komunikat:

Could not get the display property. Invalid argument.


Stworzyłem dynamiczny formularz, w formie tabeli. Wiersze są chowane i pokazywane w zależności od wybranej opcji w polu select.

Z chowaniem nie było problemu:

$("#tr_amount").css("display","none");

Problem powstał podczas pokazywania wiersza. Użycie:

$("#tr_amount").css("display","table-row");

powoduje w/w błąd i formularz nie działa. Inline i block psują wygląd w innych przeglądarkach.

Rozwiązaniem problemu jest użycie tricku:

$("#tr_amount").css("display","");

Taki zabieg powoduje prawidłowe działanie i wygląd we wszystkich przeglądarkach.

Błąd ten nie odnosi się oczywiście tylko do jQuery. W moim przypadku tak było, więc przykłady są z wykorzystaniem jQuery.

Fork me on GitHub

1 comment

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *