Jquery Internet explorer的条件css语句

Jquery Internet explorer的条件css语句,jquery,css,internet-explorer,Jquery,Css,Internet Explorer,我正在开发一个网站,有一个与背景图像是有css的div background-attachment:fixed; 这在除internet explorer之外的所有浏览器中都很好。通过javascript实现平滑滚动不是一个选项 所以我找到了一个插件,可以让我确定何时使用IE10和IE11。 我用以下代码对此进行了测试 <script type="text/javascript"> if (layoutEngine.vendor === 'ie' &

我正在开发一个网站,有一个与背景图像是有css的div

background-attachment:fixed;
这在除internet explorer之外的所有浏览器中都很好。通过javascript实现平滑滚动不是一个选项

所以我找到了一个插件,可以让我确定何时使用IE10和IE11。

我用以下代码对此进行了测试

    <script type="text/javascript">
        if (layoutEngine.vendor === 'ie' && layoutEngine.version === 11) {
            alert("using IE 11");
        }
    </script>
Javascript

<script type="text/javascript">
    if (layoutEngine.vendor === 'ie' && layoutEngine.version === 11) {
        $('#groupPicture').addClass("grouppicIEVersion");
    }
</script>

if(layoungine.vendor=='ie'&&layoungine.version==11){
$('#groupPicture').addClass(“grouppicIEVersion”);
}
HTML


但这不起作用。该类未添加到internet explorer中。我不确定这是jquery错误还是我正在使用的插件有问题。帮点忙就好了

将其包装在
$.ready()
中:

可能当您想要添加此类时,元素
#groupPicture
在DOM中还不可用

还要检查控制台中是否有错误。

如前所述,这需要包装在文档就绪函数中,否则DOM可能尚未加载,因此
#groupPicture
元素可能还不存在

我想说的另一点是将类附加到
主体
,并在CSS中使用它。这意味着您只需附加一次类,然后就可以从那时起仅使用CSS应用浏览器覆盖

例如:

$(function(){
   if (layoutEngine.vendor === 'ie' && layoutEngine.version === 11) {
      $("body").addClass("msie11");
   }
});
那么CSS可以是:

.grouppic{
    background-attachment:fixed;
}

.msie11 .grouppic{
    background-attachment:inherit !important;
}

但是,你可以很容易地找到使用css的黑客,然后为什么要使用其他插件来找出这一点


@介质全部和(-ms高对比度:无)
{
.grouppicIEVersion{背景附件:继承!重要;}/*IE10*/
*:-ms background.grouppicIEVersion{background附件:inherit!重要;
}/*IE11*/
}

那么,在将元素添加到页面之前是否调用它?就像有人在你出现之前叫你的名字。哦,哇。甚至没有考虑到这一点。稍等。通常最好使用特征检测,而不是检查浏览器和version@onTheInternet请看我的回答哇,我还没想到这一点。在编写CSS时,将一个类应用于全身更容易,也不那么痛苦。谢谢
$(document).ready(function() {
    if (layoutEngine.vendor === 'ie' && layoutEngine.version === 11) {
        $('#groupPicture').addClass("grouppicIEVersion");
    }
});
$(function(){
   if (layoutEngine.vendor === 'ie' && layoutEngine.version === 11) {
      $("body").addClass("msie11");
   }
});
.grouppic{
    background-attachment:fixed;
}

.msie11 .grouppic{
    background-attachment:inherit !important;
}