Я пытаюсь эмулировать некоторые псевдоклассы и селекторы атрибутов в Internet Explorer 6 и 7, такие как :focus
, :hover
или [type=text]
.Пока что мне удалось добавить имя класса к затронутым элементам:
$("input, textarea, select")
.hover(function(){
$(this).addClass("hover");
}, function(){
$(this).removeClass("hover");
})
.focus(function(){
$(this).addClass("focus");
})
.blur(function(){
$(this).removeClass("focus");
});
$("input[type=text]").each(function(){
$(this).addClass("text");
});
Однако я все еще вынужден дублировать селектор в моих таблицах стилей:
textarea:focus, textarea.focus{
}
И, что еще хуже, IE6, похоже, игнорирует все селекторы, когда находит атрибут:
input[type=text], input.text{
/* IE6 ignores this */
}
И, конечно, IE6 игнорирует селекторы с несколькими классами:
input.text.focus{
/* IE6 ignores this */
}
Так что я, скорее всего, закончу с этим беспорядком:
input[type=text]{
/* Rules here */
}
input.text{
/* Same rules again */
}
input[type=text]:focus{
}
input.text_and_focus{
}
input.text_and_hover{
}
input.text_and_focus_and_hover{
}
Мой вопрос: есть ли способ прочитать правила или вычисленный стиль, определенные для селектора CSS, и применить его копределенные элементы, поэтому мне нужно поддерживать только один набор стандартных CSS?