2010-01-06 58 views
4

如何在html中使用div标签中的jquery更改样式表?或者什么是更改样式表的jQuery代码?使用jQuery更改样式表

在JavaScript

,我们用下面的代码:

<script type="text/javascript"> 
function changeStyle() { 
document.getElementById('stylesheet').href = 'design4.css'; 
} 
</script> 

是否有一个jQuery的方法?

+3

使用技术术语将帮助我们大多数人更好地理解您的问题。 – mauris 2010-01-06 05:49:55

回答

1

对于更新完整的主题,最好加载一个新的CSS文件。在服务器端最简单的做,但如果你坚持加载动态:

// Don't know jQuery, this is regular JS: 
var newCss = document.createElement('link'); 

newCss.rel = 'stylesheet'; 
newCss.type = 'text/css'; 
newCss.href = '/path/to/new/cssfile.css'; 

document.body.appendChild(newCss); 
1
document.getElementById('stylesheet').href = 'design4.css'; 

使用jQuery:

$("#styleshhet").attr('href', 'design4.css'); 
9

有更好的方法做你问什么,但如果你真的想与jQuery的删除和添加远程样式表,你可以这样做:

$('link[href^=old_css_file.css]').attr('href', '/path_to_new_css/file.css'); 

阅读更多关于^= attribute selectorattr() function

0

我用这个代码启用或禁用基于页面的样式表。

$(document).on('pagebeforeshow', function() { 
     var URL = $.mobile.path.parseUrl(window.location).toString().toLowerCase(); 

     if (URL.indexOf("/investment.aspx") > -1 || 
      URL.indexOf("/employees.aspx") > -1) { 
      $("link[href^='../../Public/LongLabels.css']").attr("media", "all"); 
     } 
     else { 
      $("link[href^='../../Public/LongLabels.css']").attr("media", "not all"); 
     } 
    });