2012-11-05 50 views
-1

我不知道爲什麼IE 8不承認這個選擇「* =」IE 8發行不承認選擇

這是我使用該網站的文檔類型:

<!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; 
} 
+3

'* ='不是完整的選擇器。你的意思是'[att * = val]'對於某個att和val嗎?您需要向我們展示您的實際HTML和CSS。 – BoltClock

+0

我相信只有CSS3,IE8不支持。 – Shmiddty

+2

@Shmiddty:IE8確實支持它。僅僅因爲它的CSS3並不自動意味着IE8不支持它。 – BoltClock

回答

1

沒有標記或的jsfiddle展示的問題,這是很難說肯定是什麼導致你的問題。 IE8 does support the substring attribute selector (` [*=]')

它可能是其他東西在您的文件,將IE8進入怪癖模式;在這種情況下,這個選擇器不被IE8支持。

也許你錯過了display:none末尾的分號。 (請參閱http://jsfiddle.net/vKCU3/。)該選擇器匹配屬性中的實際字符,而不是渲染的顯示樣式,因此這些小事情會有所作爲。

嘗試從選擇刪除字符,直到你看到一個比賽,即:

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

另外要確保.contourErrorMsg是正確的類。