Css - 选择远离输入的标签

时间:2014-04-10 16:18:12

标签: html css css-selectors

我正在寻找一个选择器,让我可以设置一个不在相应输入附近的标签

HTML

<article>
 <header>
  <label for="view-today-node-0">VIEW</label>
 </header>

 <input type="radio" name="view-today-node" id="view-today-node-0" />
</article>

我需要在检查收音机时设置标签的样式。

类似于

的东西
article  input[type="radio"]:checked + label {}

但标签不在输入附近

3 个答案:

答案 0 :(得分:1)

<强> jQuery的解决方案:

$("label[for='view-today-node']").css('background','#F00');

答案 1 :(得分:1)

如果标签不在输入旁边,但仍然是兄弟姐妹,您可以使用通用兄弟组合器(~)来设置标签样式:

input[type="radio"]:checked ~ label {
    color:green;
}

这是一个小提琴:http://jsfiddle.net/EPHXU/

答案 2 :(得分:0)

这可能会有所帮助。仅CSS就不会对此有所帮助,我认为b4ttl3m4st3r很接近。 http://jsfiddle.net/a3v3x/

$("input[type='radio']").change(function(){
    var color = this.checked ? "#f00" : "#000";
    var id = $(this).attr('id');
    $("label[for='"+id+"']").css('color',color);
});