IE8 CSS:不是选择器

时间:2014-08-04 14:13:33

标签: css internet-explorer-8

我的网站包含一个外部CSS文件,其中包含:not selector;

ul.dynatree-container a:not(.remove){
    color:black;
    text-decoration:none;
    vertical-align:top;
    margin:0;
    margin-left:3px;
    border:1px solid white
}

因此.dynatree容器中的链接被设置样式,除非它们具有class =" remove"。

.dynatree-container的内容是动态的,并通过AJAX加载。

这种方法很好,除了在IE8中忽略整个选择器。

是否有解决方案/多胞胎?

我尝试过Selectivizr,但这要求DOM元素不会改变。

我已经在使用jQuery 1.9.1,因此基于它的解决方案是有效的。

2 个答案:

答案 0 :(得分:1)

无需使用javascript,您只需为所有链接定义这些属性

ul.dynatree-container a {
    color:black;
    text-decoration:none;
    vertical-align:top;
    margin:0;
    margin-left:3px;
    border:1px solid white
}

然后用

恢复它们
ul.dynatree-container a.remove {
    ...
}

有点冗长,但它也适用于IE8

答案 1 :(得分:0)

您可能需要查看Dean Edwards IE7.js,IE8.js和IE9.js,所有这些都可以是found here,具体来说,IE9.js会添加对:not的支持, Google代码页:

  

IE9.js 升级MSIE5.5-8以与现代浏览器兼容。

Direct link to js fileexample selectors by script