CSS:选择一个标签,该标签是具有我想要的类的标签的父级的父级

时间:2011-04-26 15:19:43

标签: css css-selectors

基本上是锡中所说的。

我有一个输入标签和独立的javascript来控制它。当用户插入数据时,它会自动更改其中一个类,以便通过其他地方定义的CSS更改其颜色。直到那时一切正常。下一篇:我希望包含该输入的整个div改变颜色,以便在出现问题时可以警告用户。这里有一个问题:如何选择我想仅使用CSS选择的div? 这里有一些适用于输入的代码:

input.wrongVal {
    border-color: red;
    background-color: red;
}
input.wrongVal:active{
    background-color: white;
}

以下是该页面的相关代码:

<div class="infoinputContainer">
    <p class="inputLine">
        <span>
            <input type="text" id="data">
            <label for="data">Data info</label>
        </span>

    </p>

</div>

如果只使用CSS,我如何选择样式化此处显示的div(而不是其他div),例如,另一个背景?

3 个答案:

答案 0 :(得分:2)

你做不到。不是纯CSS。

CSS选择器仅出于性能目的选择/定位子级或子级:如果您可以定位:parent(如jQuery中所示),则浏览器必须等待呈现任何在处理所有子节点之前的页面。

您必须使用JavaScript。

答案 1 :(得分:2)

你不能用CSS做到这一点。但是,您可以使用Javascript来更改div容器的类或将div容器包装到另一个div中。

<div class="infoinputContainer invalid">
    <p class="inputLine">
        <span>
            <input type="text" id="data">
            <label for="data">Data info</label>
        </span>

    </p>
</div>

或:

<div class="invalidInput">
  <div class="infoinputContainer">
    <p class="inputLine">
        <span>
            <input type="text" id="data">
            <label for="data">Data info</label>
        </span>

    </p>
  </div>
</div>

答案 2 :(得分:0)

你不能只用css。

当用户输入信息时,您使用什么来更改课程?如果是javascript,你可以用它来改变父(或祖父母)的类。