2013-07-25 17 views
11

İki radyo düğmem var, tıklayın arka plan rengini tıklamanız gerekiyor. Kodum IE8 dışındaki tüm tarayıcılarda çalışır. Bunu Javascript kullanmadan IE8 için çalışmak için bu mümkün mü?Bir css sözde öğesini nasıl edinebilirim: IE8'de Javascript olmadan çalışmayı mı kontrol ettiniz?

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

+0

ise ve bu durumda hiçbir alternatif ne var ki ': checked', sonra cevap hayır' dir korkuyorum. ' –

+0

Bu konuyu bulmakta olan kişiler için lütfen not edin: Tüm tarayıcılarda ancak IE8'de, JS kullanmadan kontrol edilen durumu CSS stiline alabilirsiniz. Aşağıdaki cevap, JS kullanımı ile IE8'in nasıl desteklenebileceğini açıklar. – nthChild

cevap

12

<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; 
} 
IE8 understands komşu kardeş seçicileri birlikte, doesn't understand checked sözde eleman, bu nedenle maalesef sadece CSS kullanarak kod IE8 dostu yapamaz.

Bir JavaScript çözümü için Selectivizr veya IE7.js'a bakın.

1

Bu deneyebilirsiniz: tarayıcı CSS seçici desteklemediği

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

Bu sayfa, kontrol edilen "= işaretli" ile yüklüyorsa çalışır. Ancak, girişin işaretini kaldırmanın görünüşünü değiştirmeyeceği konusunda uyarılmalıdır. –