IE7更改css选择器的顺序



我有一些css代码,只有当另一个元素的值为0 时,它才会隐藏某个元素

 #type_46[value="0"] ~ .exercise_dur {
    display: none;
  }

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

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

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

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

编辑:(还不能回答我自己的问题,所以我必须编辑)问题似乎是ie7没有动态更新css。当代码被初始化时,它不起作用,因为在css加载之前没有设置值。如果我强制它(即更改代码或禁用/重新启用样式),它会更新,但在再次强制之前不会更新(即使我更改了值)。ie7对于这个项目来说并不是一个很大的优先级,隐藏元素也不是绝对必要的,所以我想我现在就把这个放在一边,如果有必要的话,稍后在jquery中实现它。

谢谢。

IE7中对通用同级选择器的支持充其量是有缺陷的。我建议找出另一种选择元素的方法,或者使用jQuery。

阅读更多。

最新更新