2010-09-08 24 views
14

有什麼方法可以檢測IE7嗎?如何用javascript或jquery檢測IE7並向div中添加一個類

我沒有在IE8中的代碼有任何問題,但我有一個與IE7的問題。

所以我認爲是我可以添加一個類與jquery當瀏覽器是IE7檢測到它的JavaScript。

我想從

<div id="system"> 

改變

<div id="system" class="ie7"> 

在此先感謝。

+2

此問題與樣式或JavaScript相關?如果這是一種風格相關的事情,你應該考慮使用條件評論,如建議。如果這是一個JavaScript的東西,你應該閱讀關於功能檢測,它以很多方式擊敗瀏覽器嗅探。啊哈! – jwueller 2010-09-08 17:12:47

回答

9

你可以使用IE條件註釋通過JavaScript來添加的類別,這樣的事情:

<!--[if IE 7]> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $('#system').addClass('ie7'); 
}); 
</script> 
<![endif]--> 
+2

啊!謝謝。傻我。 – shin 2010-09-08 17:08:30

9

你可以只用HTML做到這一點:

CSS

.ie7{ 
    padding: 0; 
    color: red; 
} 

html

<!--[if IE 7 ]> <div id="system" class="ie7"> <![endif]--> 
<!--[if (gt IE 7)|!(IE)]><!--> <div id="system"> <!--<![endif]--> 
</div> 

如果在Internet Explorer 7中執行,則會創建divie7類。所有其他瀏覽器和IE> 7只會在沒有該類的情況下創建該div。

+0

我認爲他想要一個jQuery解決方案。但是,您的解決方案是一種更好的方式,因爲用戶可能已禁用JavaScript。 – 2010-09-08 17:13:35

+3

+1。我通常在''上的一個位置執行此操作,並使用像'body.ie7#system'這樣的CSS包含選擇器來避免在整個文檔中重複條件註釋。 – bobince 2010-09-08 17:20:10

3

試試這個:

<!--[if IE 7]> 
<script type="text/javascript"> 
    $('#system').addClass('ie7'); 
</script> 
<![endif]--> 
50

,如果你真的想SOLV E本通過使用JavaScript,你可能要檢查的版本是這樣的:

if (navigator.appVersion.indexOf("MSIE 7.") != -1) 
    $('#system').addClass('ie7'); 
+0

對於不依賴於JavaScript框架或條件註釋的可用選項的解決方案而言,+1。 – blackhawk 2014-04-30 09:30:00

9

要檢測IE7只使用

if($.browser.msie && parseFloat($.browser.version) < 8){ 
    //do other stuff 
    return; 
} 

做你想要什麼與它只是:

if($.browser.msie && parseFloat($.browser.version) < 8){ 
    $('#system').addClass('ie7'); 
} 
+0

你的意思是<8? – shin 2010-09-08 18:39:21

+0

是的,抱歉,我的意思是<8 – 2010-09-09 21:50:57

+13

在這個時候(2年後),'.browser'已經從jQuery中刪除。 – Brad 2013-02-20 23:12:08

0

請注意,IE8的compat視圖也會有<!--[if IE 7 ]>爲真

所以你應該做第二個級別l在文檔模式下測試,如果你不想在IE8兼容視圖中反映更改。

<!--[if IE 7]> 
    <script type="text/javascript"> 
    try 
    { 
    if(document.documentMode!=8){ 
    //Your code comes here 
    } 
    } 
    catch(exception){ 
    } 
    </script> 
<!--<![endif]--> 
相關問題