影响父元素:focus'd元素(纯CSS + HTML首选)

时间:2010-02-06 08:54:48

标签: css focus css-selectors

<div><input>为:focus'd(或任何其他动态伪类?)时,如何更改父<a>的背景?

例如

<div id="formspace">
<form>
<label for="question">
How do I select #formspace for the case when a child is active?</label>
<input type="text" id="question" name="answer"/></form></div>

2 个答案:

答案 0 :(得分:27)

不幸的是,css不支持父选择器。 :(
因此,唯一的方法是使用像jQuery parent method这样的javascript。

<强>更新 CSS Selectors Level 4将支持父选择器! http://www.w3.org/TR/selectors4/#subject

答案 1 :(得分:6)

我能想到的唯一方法是使用JavaSCript:

function focusLink(isOnFocus)
{
    if (isOnFocus)
      document.getElementById('formspace').className = "<make a focus class name here>";
    else
      document.getElementById('formspace').className = "<default class name here>";
}

...

<input onFocus="focusLink(true)" onBlur="focusLink(false)">

希望有所帮助!