0

我有一些 CSS 代码仅在另一个元素的值为 0 时隐藏某个元素

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

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

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

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

这显然会破坏选择器并导致它不起作用。如果我手动(在开发工具中)更正此问题,它可以完美运行,没有任何问题。有没有人遇到过这个问题?如果是这样,除了将元素隐藏在javascript中之外,还有其他解决方法吗?

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

谢谢。

4

1 回答 1

1

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

阅读更多。

于 2012-08-01T16:33:57.177 回答