如何使用JavaScript/jQuery有条件地添加样式表

How can I use JavaScript/jQuery to conditionally add a stylesheet?

本文关键字:添加 样式 有条件 jQuery 何使用 JavaScript      更新时间:2023-09-28

我在网上寻找了以下问题的合适解决方案,但似乎找不到有用的解决方法;

我们使用Umbraco CMS来显示客户的网站,这不允许我们添加通常在<HTML的head>。因此,我一直在尝试找到一种方法,让JavaScript或jQuery有条件地显示特定于IE9的样式表。

到目前为止,我看到的选项如下:

if ($.browser.msie && parseInt($.browser.version, 10) === 7) {
    $('head').append('<link>', {
        rel:  'stylesheet',
        type: 'text/css',
        href: 'css/ie9.css'
    });
}

并且使用conditionizr(由于".add"函数上的控制台错误,该操作未起作用)。

对此有什么想法吗?

您需要传递一个完全构造的jQuery对象(或HTML字符串),而不是将标记名及其属性作为两个单独的参数传递给append()

$('head').append(
    $('<link>', {
        rel:  'stylesheet',
        type: 'text/css',
        href: 'css/ie9.css'
    })
);