вставить IE условный оператор (комментарий) с помощью jQuery? - PullRequest
1 голос
/ 15 января 2012

Я пытался добавить условный оператор для IE7 с помощью jQuery, но он не работает динамически (если он был жестко закодирован, он работал, поэтому я знаю, что это связано со способом, которым jQuery добавляет фактический «комментарий» условного выражениязаявление).

код, который я использую, это:

$("head").append("<!--[if IE 7]>");
$("head").append("<link>");
css = $("head").children(":last");
    css.attr({
    rel:  "stylesheet",
    type: "text/css",
    href: "css/IE7.css"
});
$("head").append("<![endif]-->");

Я думаю, что это связано с < и >, может быть, их нужно кодировать urlencoded?, how?

У любого есть решение для этого, которое не включает нацеливание каждого свойства CSS с помощью jQuery (есть десятки исправлений CSS, так что это не будет решением).

Ответы [ 2 ]

4 голосов
/ 15 января 2012

Вы можете использовать $.browser, чтобы проверить версию браузера и действовать соответственно:

if ($.browser.msie && parseInt($.browser.version, 10) === 7) {
    $('head').append('<link>', {
        rel:  'stylesheet',
        type: 'text/css',
        href: 'css/IE7.css'
    });
}
0 голосов
/ 27 октября 2013

Я бы выбрал Conditionizr, он делает все это для вас как самостоятельный API и более надежен, чем jQuery: http://conditionizr.com

...