IE7改变了css选择器的顺序

时间:2012-08-01 16:12:30

标签: css internet-explorer-7 css-selectors

我有一些css代码,如果另一个元素的值为0

,则只隐藏某个元素
 #type_46[value="0"] ~ .exercise_dur {
    display: none;
  }

这适用于除ie7之外的所有浏览器(即ie7模式/ ie7文档模式中的9)

使用ie开发工具进行故障排除时,如果我直接查看样式列表,我会看到:

[value='0']#type_46 ~ .exercise_dur 

这显然打破了选择器并导致它无法工作。如果我手动(在开发工具中)纠正这一点,它可以完美地工作而没有任何问题。 有没有人遇到过这个问题?如果是这样,除了在javascript中隐藏元素之外,还有其他解决方法吗?

编辑:(无法回答我自己的问题所以我必须编辑) 看来问题是ie7没有动态更新css。初始化代码时,它不起作用,因为在css加载之前未设置该值。如果我强制它(即更改代码或禁用/重新启用样式)它会更新,但随后不会更新(即使我更改了值),直到再次强制它为止。 ie7对于这个项目来说并不是一个重要的优先级,并且隐藏元素并不是绝对必要的,所以我想我现在要离开这个并在以后必要时在jquery中实现它。

感谢。

1 个答案:

答案 0 :(得分:1)

对IE7中的一般兄弟选择器的支持充其量也是错误的。我建议找出另一种选择元素的方法,或者使用jQuery。

Read more.