2009-07-13 52 views
0

只有当IE6是浏览器时,是否有任何方法可以在jQuery中有条件地执行某些操作?那种我在寻找的东西的一个例子如下:在jQuery选择器中检查IE6

$("#someselector").IsIE6().css("position", "relative").css("left", 40); 

我用的JQuery用户界面对话框一个奇怪的问题所困扰,并添加该代码可以解决问题,但显然打乱了所有的其他浏览器

回答

2

可以使用(不推荐)browser属性:

if ($.browser.msie && $.browser.version.substring(0,1) === '6') { 
    ... 
} 
2

jQuery的可能是矫枉过正这一点。

为什么不在你的文档的HEAD里面有一个条件语句,它可以选择使用'IE-6-only'规则加载样式表?这样,即使用户禁用了JS,一切仍然可以正确显示。

<!--[if lt IE 7]> 
     <link type="text/css" rel="stylesheet" media="all" href="ie6.css" /> 
<![endif]--> 

然后在你的ie6.css你可以有这样的规则:

#someselector { 
    position: relative; 
    left: 40px; 
} 
+0

因为样式必须以编程方式设置。我正在尝试解决一个错误的jquery插件,它会在IE6中设置导致布局问题的样式。我宁愿避免破解第三方代码,并试图弄清楚它是如何工作的,以解决问题。我已经确定了修复IE6的样式 – 2009-07-14 12:34:37