使用jQuery更改样式表

4

如何在HTML上使用jQuery更改div标记中的样式表?或者说有关更改样式表的jQuery代码是什么?

在JavaScript中,我们使用以下代码:

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

有没有jQuery的方法?

3
使用技术术语可以帮助我们大多数人更好地理解您的问题。 - mauris
4个回答

9

有更好的方法来完成你所要求的操作,但如果你真的想使用jQuery删除和添加远程样式表,可以这样做:

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

了解更多关于^=属性选择器attr()函数的信息。


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');

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");
        }
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接