0

別の要素の値が0の場合にのみ特定の要素を非表示にするcssコードがあります

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

これは、ie7 (ie7 モードの ie9/ie7 ドキュメント モード) を除くすべてのブラウザーで機能します。

開発ツールなどを使用してトラブルシューティングを行う場合、スタイル リストを直接見ると、次のように表示されます。

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

これは明らかにセレクターを壊し、機能させません。これを手動で(開発ツールで)修正すると、問題なく完全に機能します。誰もこの問題を経験しましたか? もしそうなら、javascript で要素を非表示にする以外の回避策はありますか?

編集: (まだ自分の質問に答えられないので、編集する必要があります) 問題は、ie7 が css を動的に更新していないことです。コードが初期化されると、css が読み込まれる前に値が設定されないため、機能しません。強制すると更新されます (つまり、コードを変更するか、スタイルを無効/再度有効にする) が、再度強制されるまで (値を変更しても) 更新されません。ie7 はこのプロジェクトにとって大きな優先事項ではなく、要素を非表示にすることは絶対に必要というわけではないので、今はこれを残して、後で必要に応じて jquery に実装しようと思います。

ありがとう。

4

1 に答える 1

1

IE7 での一般的な兄弟セレクターのサポートには、せいぜいバグがあります。要素を選択する別の方法を考え出すか、jQuery を使用することをお勧めします。

続きを読む。

于 2012-08-01T16:33:57.177 に答える