Javascript 如何为相应的浏览器调用不同的css,比如使用jquery

Javascript 如何为相应的浏览器调用不同的css,比如使用jquery,javascript,jquery,css,Javascript,Jquery,Css,这已经被问到了 我想为safari使用一个css文件,为Mozilla使用另一个css文件,为IE使用另一个css文件。您可以嗅探浏览器,然后创建一个链接元素,并将其附加到头标记 if(jQuery.browser.msie) $('head').append('<link href="css/ie.css" rel="stylesheet" />'); ... // and so on. if(jQuery.browser.msie) $('head')。追加('');

这已经被问到了


我想为safari使用一个css文件,为Mozilla使用另一个css文件,为IE使用另一个css文件。您可以嗅探浏览器,然后创建一个
链接
元素,并将其附加到
标记

if(jQuery.browser.msie)
    $('head').append('<link href="css/ie.css" rel="stylesheet" />');
... // and so on.
if(jQuery.browser.msie)
$('head')。追加('');
... // 等等

编辑:参考。

您可能应该在服务器端执行此操作(或者更好,一点也不)。但是如果你不想做这个客户端,你需要这样的东西

var writeStyleSheet = function(url){
    var linkTag = document.createElement('link');
    linkTag.type = 'text/css';
    linkTag.rel = 'stylesheet';
    linkTag.href = url;
    linkTag.media = 'screen';
    document.getElementsByTagName("head")[0].appendChild(linkTag);
}
if(jQuery.brwoser.msie){
    writeStyleSheet('ie.css');
}
else if(jQuery.browser.safari){
    writeStyleSheet('safari.css');
}
else if(jQuery.browser.mozilla){
    writeStyleSheet('mozalla.css');
}
但是请注意,jQuery.browser在1.3中不推荐使用。您应该创建一个适用于所有浏览器的样式表。可能会为IE特定的黑客添加一些条件注释:

 <!--[if IE]>
  <link type='text/css' href='ieHacks.css' rel='stylesheet' />
 <![endif]-->     

您可以使用$.browser对象检测浏览器

为了获得所需的样式表,我从下面的

$(文档).ready(函数(){
$(“a”)。单击(函数(){
$('head')。追加('');
});
});

下面是作者的另一篇文章,描述了如何使用jquery动态地替换和应用样式。

Webkit呢?歌剧怎么样?那么鲜为人知的浏览器呢?在99%以上的情况下,最好编写一个符合标准的样式表,然后使用条件注释包含IE6和IE7特定的样式表,以覆盖主样式表的选定部分,从而解决这些特定浏览器中的错误。
$(document).ready(function() {
    $("a").click(function() {
        $('head').append('<link rel="stylesheet" href="style2.css" 
         type="text/css" />');
    });
});