【问题标题】:Changing color on <a> inside <div> when radio button is checked?选中单选按钮时更改 <div> 内 <a> 的颜色?
【发布时间】:2012-06-24 23:44:54
【问题描述】:

http://jsfiddle.net/anvhw/1/

在选中第一个单选按钮时,我尝试在&lt;a&gt;标记上更改属性的麻烦。当我想要更改 &lt;label&gt; 属性时,它工作正常,但不是 &lt;a&gt;

谁能帮帮我?

【问题讨论】:

    标签: css input css-selectors checked


    【解决方案1】:

    + 选择器意味着两个元素之间不能有任何其他元素。 + label 起作用的原因是因为您的 label 紧跟在您的单选按钮之后。但是,label 位于您的单选按钮和div 之间,因此#radio-one:checked + div 将不起作用。

    你需要使用

    #radio-one:checked + label + div a
    

    Updated fiddle

    另请参阅this answer,了解+ 选择器的工作原理。

    【讨论】:

    • 谢谢!我在想 + 可以用来并行影响任何元素。
    • @james:应该是~,但即便如此,它也不会影响另一个元素之前发生的元素,只会在之后发生。此外,如果您在#radio-two 之后有一个额外的div,则#radio-one ~ div 将更改它,除非您的CSS 中也有#radio-two ~ div。不过,用词很混乱,所以这里是another illustration
    • 好的好的,谢谢。此外,您所做的更新的小提琴似乎在选中任何一个单选按钮时更改颜色。或者选择“无线电 - 一个”检查时,它不会在未选择时返回到原件。有什么想法吗?
    • @james:哦哦。看起来 WebKit 出了问题。它适用于其他浏览器,但我看到链接在 Safari 中保持红色。
    • 嗯,在 FF 中效果很好,我可能不得不使用 JavaScript 来实现相同的效果。
    猜你喜欢
    • 2014-05-27
    • 1970-01-01
    • 1970-01-01
    • 2017-09-21
    • 2021-11-20
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    相关资源
    最近更新 更多