-1

IE 8 がこのセレクター " *= " を認識しない理由がわかりません

これは私がサイトに使用しているDoctypeです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

セレクターは、IE 8 を除くすべてのブラウザーで機能します。何か提案はありますか?

完全なセレクターは次のとおりです。

.contourErrorMsg[style*="display: inline;"],
.contourErrorMsg[style*="display:inline;"] {
    display: block !important;
}
4

1 に答える 1

1

問題を示すマークアップまたは JSfiddle がなければ、問題の原因を特定することは困難です。 IE8 は部分文字列属性セレクタ (` [*=]') をサポートしています

ドキュメントに IE8 を quirks モードにしている何かが含まれている可能性があります。その場合、このセレクターは IE8 ではサポートされていません。

末尾のセミコロンが抜けている可能性がありdisplay:noneます。(http://jsfiddle.net/vKCU3/を参照してください。)そのセレクターは、レンダリングされた表示スタイルではなく、属性内の実際の文字に一致するため、このような小さなことが違いを生みます。

一致するものが表示されるまで、セレクターから文字を削除してみてください、IE:

.contourErrorMsg[style*="display"]
{ color: red; }

また、それ.contourErrorMsgが正しいクラスであることを確認してください。

于 2012-11-06T05:08:50.463 に答える