2013-07-25 3 views
11

У меня есть два переключателя, мне нужно установить цвет фона при щелчке. Мой код работает во всех браузерах, за исключением IE8. Возможно ли, чтобы это работало для IE8 без использования Javascript?Как я могу получить псевдо-элемент css: проверено на работу в IE8 без Javascript?

<form> 
    <input type="radio" id="m" name="gender" value="male"> 
    <label for="m">male</label> 
    <input type="radio" id="f" name="gender" value="female"> 
    <label for="f">female</label> 
</form> 

input:checked + label{ 
    background:red; 
} 

http://jsfiddle.net/chrimbus/sXjyL/3/

+0

Если браузер не поддерживает CSS селектор, и в этом случае нет никакой альтернативы ': checked', то я боюсь, что ответ«нет. ' –

+0

Для людей, которые находят эту тему, обратите внимание: во всех браузерах, кроме IE8, вы можете использовать стиль CSS без проверки JS. Ниже приведено описание того, как поддерживать IE8 с помощью JS. – nthChild

ответ

12

Хотя IE8 understands смежных двойников селекторов, он doesn't understandchecked псевдо-элемент, поэтому, к сожалению, вы не можете сделать свой код IE8 дружественный, используя только CSS.

Посмотрите на Selectivizr или IE7.js для решения JavaScript.

1

Вы можете попробовать это:

input[checked=checked] + label{ 
    background:red; 
} 
+3

Это работает, если страница загружается с отмеченным = «проверено» на месте. Но будьте осторожны, чтобы снять флажок, не изменив внешний вид. –

 Смежные вопросы

  • Нет связанных вопросов^_^