Widziałem, że sytuacja jest bardzo problematyczna po przeczytaniu:
Obramowanie css IE6 / IE7 na elemencie select http://api.jquery.com/css/
Może jednak sytuacja uległa zmianie w Internet Explorerze 8. Jeśli tak, to spodziewam się, że ten fragment kodu zadziała w IE8:
$(selectObject).css("border", "1px solid red");
$(selectObject).css("border-style", "dashed");
Działa to tak, jak oczekuję w Firefoksie, ale nie w Internet Explorerze 8. (Nic się nie zmienia w IE 8). Więc albo coś zapominam, albo IE8 jest nadal zepsuty (w sensie podanym w powyższym kontekście).
Jeśli coś zapominam dla IE8, co to jest?
Jeśli IE8 jest zdecydowanie uszkodzony i nie może używać CSS do zmiany właściwości elementów SELECT, to czy masz jakieś wiarygodne źródło, które wyjaśnia tę sytuację? (Wraz z możliwymi obejściami?)
Odpowiedzi:
2 dla odpowiedzi № 1IE8 i właściwość css border w wybranych menu
1 dla odpowiedzi nr 2
Co pracowałeś w IE8, możesz zobaczyć test tutaj: http://jsfiddle.net/G7ThX/
Czy jesteś pewien, że Twoja strona nie jest w trybie dziwactwa?
Jeśli chodzi o opcje alternatywne, istnieją trasy jQuery do zastąpienia renderowanego <select>
wszystko razem do celów interfejsu użytkownika, takich jak Stylowe pudełko wyboru (najnowszy kod tutaj), są one bardziej dostosowane do stylu i być może lepsza trasa, jeśli chcesz zrobić więcej niż obramowanie i renderować tę samą przeglądarkę.
Większość tych wtyczek działa, ukrywając <select>
i używając jego opcji, ale wciąż ustawiając swoją wartość w tle ... formularz nie zna różnicy w opublikowanych wartościach, więc łatwo jest wpaść.