JS polyfill CSS子选择器到IE6

时间:2012-02-10 20:24:37

标签: javascript css internet-explorer-6 css-selectors

我正在寻找一个polyfill来将>选择器添加到IE6。我知道Selectivizr,但我不想把它全部包含在那条规则中。有没有简单的脚本可以做到这一点?我有jQuery,所以可以包括在内。

3 个答案:

答案 0 :(得分:3)

无论浏览器如何,jQuery都可以使用子选择器。因此,您可以使用jQuery在页面加载时手动将样式应用为类。

jQuery('parent>child').addClass('parent-child-class');

答案 1 :(得分:1)

.example * {background: #00f; }
.example * * {background: none; }

这将产生类似于:

的结果
.example > * {background: #00f; }

但要注意选择者的特异性。

更有用的方法是通过JavaScript / jQuery为IE6添加额外的类:

$('.example > *').addClass('example-child');

答案 2 :(得分:0)

我知道的唯一其他用于执行此类操作的旧IE版本的polyfill是Dean Edwards' IE7.js library。 (以及后续库ie8.js和ie9.js)。

IE7.js是一个在IE6是当前版本时发布的库。它的目的是尽可能多地填充IE6中缺少的新浏览器中可用的功能。它被称为" IE7.js"作为一种说法"在没有微软发布的新版本的情况下,这是我试图强迫IE达到现代标准的行为#34;。

IE8.js和IE9.js随后分别在IE7和IE8发布后不久发布。

IE7.js确实包含了很多IE6缺少CSS功能的polyfill,包括>选择器。

如果您不想使用Selectivizr,那么这是我所知道的唯一能满足您需求的其他库。

希望有所帮助。