2010-12-16 49 views
13

我正试图在jQuery函数中以if语句为目标。我的代码到这个特定位是:与jQuery目标IE7

if($.browser.msie && $.browser.version.substring(0) == "7") { 
    //Do something 
} 

这是正确的吗?

+4

你测试过了吗? – Domenic 2010-12-16 17:08:09

+0

你也许正在寻找“正确”的方式去做点什么?如果没有,只需测试你的代码,看看它是否工作? – gideon 2010-12-16 17:09:58

+0

我认为'parseInt($。browser.version)== 7'会更漂亮。 – karim79 2010-12-16 17:11:55

回答

37

尝试:

if($.browser.msie && parseInt($.browser.version, 10) == 7) { 
    //Do something 
} 

而作为@Andrew惠特克的意见,而不是针对特定的浏览器,可以考虑检测功能来代替。

+0

同意该声明。即使jquery apis也说:“我们建议不要使用这个属性,请尝试使用特征检测。” (http://api.jquery.com/jQuery.browser/) – Tjirp 2010-12-16 17:38:36

+4

@Tjirp,我不认为有一种方法来检测“功能”的IE7绘制滚动条内溢出内部窗口,IE8绘制它们在外面”。 – CaffGeek 2011-12-06 16:23:33

+0

不错的脚本,upvote。但是,如果我想瞄准IE7和IE8呢?我用'if($。browser.msie && parseInt($。browser.version,10)== 7,8)'进行测试,并且它可以工作。但是,我的JSLint告诉我有一个错误。我不是一个JavaScript大师,所以我不明白错误的含义。我的想法是DYR,所以我不必为两个不同的浏览器重复相同的功能。任何想法如何做到这一点?谢谢。 – 2012-11-19 17:00:12