2011-09-12 47 views
4

是否有可能使用jQuery的 - 只有IE的CSS

var script = document.createElement('link'); 
script.href = 'theme/style/ie/manageleads.css'; 
script.rel = 'stylesheet'; 
script.type = 'text/css'; 
document.getElementsByTagName('head')[0].appendChild(script); 

,併爲它只能是積極的,如果瀏覽器IE8是?

回答

7

http://api.jquery.com/jQuery.browser/

注意IE8聲稱是7在兼容性視圖。

if ($.browser == 'msie' && (parseInt($.browser.version) == 8 || parseInt($.browser.version) == 7)) 
{ 
    // Do something IE8-only in here 
} 
+0

ie9怎麼辦? 「 – Selvamani

+1

」$ .browser =='msie'「不適合我。相反,我使用「$ .browser.msie」 - 像魅力一樣工作。 :) –

+0

@AlexZak是的,jQuery更改了'$ .browser'的'toString()',因爲它用於返回瀏覽器的「名稱」。從jQuery 1.9開始,也沒有任何價值,'$ .browser'被**刪除**,並且不再有效 - 請參閱我在jQuery.browser答案中的原始鏈接以獲取更多詳細信息 – Joe

2

最好的方法是有條件的CSS,但既然你問了jQuery,在這裏你去。

if ($.browser.msie && parseInt($.browser.version) == 8) { 
    $('<link />', { 
    href: 'theme/style/ie/manageleads.css', 
    rel: 'stylesheet', 
    type: 'text/css' 
    }).appendTo('head'); 
} 

如果這不起作用,請告訴我。您可能需要使用'document.createStylesheet'。

+0

'$ .browser.version' is可能會返回類似於'8.2256.4382'的東西,所以你需要使用(理想的)'parseInt'來獲取主版本號。 – Joe

+0

良好的通話,我沒有注意到。 – loganfsmyth