我有一些CSS代碼,只有當另一元素的值是0IE7改變CSS選擇
#type_46[value="0"] ~ .exercise_dur {
display: none;
}
這適用於每一個瀏覽器除了IE7隱藏了某些元件的順序(IE9在IE7模式/ IE7原稿模式)
當使用即開發工具,如果我直接在樣式列表中查找故障排除後,我看到:
[value='0']#type_46 ~ .exercise_dur
這顯然打破了選擇,並使其無法工作。如果我手動(在開發工具中)糾正這個問題,它完美的工作沒有任何問題。 有沒有人遇到過這個問題?如果是這樣,是否有一種解決方案,而不是在javascript中隱藏元素?
編輯:(不能回答我自己的問題,所以我必須編輯) 看來,問題是ie7不動態更新CSS。當代碼初始化時,它不起作用,因爲在加載css之前沒有設置該值。它會更新,如果我強制它(即更改代碼或禁用/重新啓用樣式),但不會更新(即使我更改該值),直到它再次被強制。 ie7並不是這個項目的一個重要優先事項,隱藏元素並不是絕對必要的,所以我想我現在要離開這個,並在必要時在jQuery中實現它。
謝謝。
這不會破壞選擇器;它是完全有效的(儘管它看起來很奇怪),並且應該在IE7以及IE9的IE7模式下工作。我們可以看到你的網頁嗎? – BoltClock 2012-08-01 16:16:07
不幸的是,這是我無法分享的私人項目的一部分。任何想法爲什麼交換id和值選擇器修復它? – reffu 2012-08-01 16:19:18
我明白,IE7有時會在屬性選擇器上跳轉,這可能是其中一次。有什麼方法可以在測試用例中重現此行爲?或者,如果它是私人項目的一部分,如果您的項目是在Intranet中託管然後[這個問題似乎相似](http://stackoverflow.com/questions/8915855/ie7-ignores-css-attribute-selector-only- on-pages-coming-from-production-server),儘管在這個問題中IE7完全忽略了選擇器。 – BoltClock 2012-08-01 16:20:19