旧浏览器支持的jQuery备份

时间:2012-10-20 18:11:23

标签: jquery internet-explorer

https://stackoverflow.com/a/12059220/1421561

我喜欢戴维斯代码,但想知道在<中提供支持的最佳方法。 IE7。我的第一个想法是使用一个声明“如果有一个孩子添加一个类”。然后,该类将链接到以类似方式定位的背景图像。

您的解决方案是什么?

这是戴维斯小提琴: http://jsfiddle.net/w9xnv/2/

编辑:支持< IE7:

.menu li > a:after { margin-left: 5px; content: '\25BA'; }

2 个答案:

答案 0 :(得分:1)

不幸的是,我不知道有任何方法可以支持IE7或更早版本中的:before:after选择器。它根本不受支持。

对于很多CSS的东西,有些黑客可以强迫旧的IE工作 - 像SelectivizrCSS3Pie这样的工具。

但我知道:after没有这样的黑客攻击。对不起。

您可以自己研究:

我真诚的建议是在您的网站上放弃对IE7的支持。除非你有特殊需要支持它,否则几乎没有人会注意到 - 现在IE7用户很少;它的使用率比IE6快得多,今天它们的全球浏览器使用率都低于1%。判断自己是否值得为这半数用户(他们可能习惯于看到无法正常工作的网站)而感到高兴。

答案 1 :(得分:0)

似乎没有人读到我想要一个jQuery备份。我已经明白,IE7对CSS的支持并不存在。

无论如何这是我的解决方案,如果有人会寻找相同的东西。

JS(jQuery):

<!--[if IE 7]>
    <script type="text/javascript"> 
         $(function () {
             $("#mainnavi li:has(ul)").addClass("ie7_dropdown_arrow");
         });    
    </script>   
<![endif]-->

CSS:

#mainnavi .ie7_dropdown_arrow {
    *background: url(../images/dropdown_arrow.png) no-repeat right 0px;
    *padding-right: 20px;
}

#mainnavi .ie7_dropdown_arrow:hover {
    *background: url(../images/dropdown_arrow.png) no-repeat right -15px;   
}