不。CSS3中没有主题选择器,但在CSS4中会有一个。
EDIT:
甲纯JavaScript解决方案可以是
var i;
var inputs = document.querySelectorAll("tr > td > input");
for(i = 0; i < inputs.length; ++i){
inputs[i].addEventListener('focus',function(e){
this.parentNode.parentNode.className += ' highlight';
});
inputs[i].addEventListener('blur',function(e){
this.parentNode.parentNode.className = this.parentNode.parentNode.className.replace(/\s*highlight\s*/ig,' ');
});
}
然而,这将不是在IE ≤ 7工作,因为versons 8之前不知道document.querySelectorAll
(demonstration)。如果你愿意,你可以使用jQuery一个无忧无虑的跨浏览器解决方案,下面的代码(demonstration):
$("tr > td > input").focus(function(e){
$(this).parent().parent().addClass('highlight');
}).blur(function(e){
$(this).parent().parent().removeClass('highlight');
});
不要忘了一类tr.highlight
添加到您的CSS。请记住,jQuery将下降支持旧的浏览器在将来的版本(见Browser Support),所以你必须使用jQuery 1.x中的IE 8 ≤
这将是很好,如果你使用这个输入:焦点这将工作 – Jack 2012-04-15 08:11:58
是的,焦点给输入很好的效果,但我不想突出整行。 – 2012-04-15 08:32:26