devote,
чот у меня в ИЕ7 не работает(ставицо но не убирается) - (*в ИЕ8 - норма
<!doctype html>
<html>
<head>
<title>IE7 {CSS2: auto}</title>
<style type="text/css">
/* Для ИЕ7 все как обычно */
input[type="checkbox"]{
checked: expression(this.className=this.className.replace(/(?:(?:^|\\s)checked(\\s|$)|$)/i, this.checked?' checked$1':'$1'));
}
/* Правило оформления чекнутого для ИЕ7 и ИЕ8 */
input[type="checkbox"].checked + span{
border: 1px solid red;
}
/* Для всех остальных браузеров */
input[type="checkbox"]:checked + span{
border: 1px solid red;
}
</style>
<script type="text/javascript">
/* Для ИЕ8 этот дуратский скрипт */
if (document.attachEvent && window.Element && window.Element.prototype.querySelectorAll) {
window.attachEvent('onload', function() {
function test(e) {
if(e.nodeName === "INPUT" && e.type === "checkbox") {
e.className=e.className.replace(/(?:(?:^|\s)checked(\s|$)|$)/i, e.checked?' checked$1':'$1');
}
}
document.attachEvent('onclick', function(){test(window.event.srcElement||{})});
for(var i = 0, e = document.querySelectorAll('input[type="checkbox"]'); i < e.length; i++) {
test(e[i]);
}
});
}
</script>
</head>
<body>
<input type='checkbox' checked="true" />
<span>aaa</span>
<input type='checkbox' />
<span>bbb</span>
<input type='checkbox' checked="checked" />
<span>ccc</span>
<input type="checkbox" checked/>
<span>ddd</span>
</body>
</html>