2011-04-14 20 views
0

我想獲得CSS僞:nth-​​child(n)函數在Internet Explorer中工作,這不是一件容易的事。CSS/JavaScript:Make:nth-​​child(n)在IE中使用jQuery腳本工作?

我在jQuery中創建了一些JavaScript來完成IE中的工作,但似乎無法使其工作。我已經試過的例子是無序列表(UL和李的),但我的CSS代碼(在所有其他瀏覽器上運行良好)看起來是這樣的:

#portfolio div:nth-child(4) { some styling } 
#portfolio div:nth-child(3) { some styling } 
#portfolio div:nth-child(2) { some styling } 

我試圖通過追加到運行JavaScript的我現有的script.js文件是:

$('div#portfolio div:nth-child(4)').css({' filter:' : progid:DXImageTransform.Microsoft.Matrix(M11=0.99984770, M12=-0.01745241, M21=0.01745241, M22=0.99984770); ‘}); 

但這不起作用。我試圖刪除「div#組合」並重新鍵入它,但我沒有做任何事情都會使它在IE中工作。

任何幫助,將不勝感激。

真誠
- Mestika

回答

0

這是您使用的確切代碼,因爲nth-child部分沒問題,.css()調用的語法是完全錯誤的。

從第一個參數('filter')中刪除空格和冒號,第二個參數必須是字符串。

2

這裏是我做了一個早期的例子樣品小提琴,link

我建議你也許使用jQuery來添加一個類的第n個孩子(我已經這樣做了「黃色」類),然後將規則添加到CSS與其他人,雖然note該分類規則不能與第n個孩子的原始選擇器分組,這可能不是一個重複的問題,如果你用它過濾無論如何;)

1

其他人已經提到Dean Edwards' ie7/ie8/ie9.js,它試圖將IE瀏覽器中一系列破損和遺漏的功能進行改造。

您也可以嘗試Selectivizr,它專注於爲IE添加高級CSS選擇器支持。它需要另一個庫(如JQuery)來完成與選擇器的工作,但由於您在問題中指定了它,因此它應該適合您。