如何使用Jquery和Django更改样式表

时间:2017-03-24 19:32:40

标签: javascript jquery html css django

您好我已经尝试解决这个问题很长一段时间了。回到我使用vanilla html时,这段代码似乎有效。 (从平铺视图更改为列表视图)。现在我已将它合并到django中并且hrefs包含静态标记,我不知道如何在jquery中引用它并更改其href。请帮忙

HTML

<link rel="stylesheet" type="text/css" href="{% static "Stylesheets/tileVersion.css"  %}">

我想将其更改为此css href

<link rel="stylesheet" href="../Stylesheets/listVersion.css">

JQUERY

$('#listicon').click(function () {
        $('link[href="static/Stylesheets/tileVersion.css"]').attr('href', 'static/Stylesheets/listVersion.css');
    });
    $('#tilesicon').click(function () {
        $('link[href="static/Stylesheets/listVersion.css"]').attr('href', 'static/Stylesheets/tileVersion.css');
    });

如果可能,我希望能够在它们之间切换。任何形式的帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

你可以做两件事之一。

  1. 您可以使用静态引用将一个CSS文件加载到另一个上,方法是在代码中使用if标记从变量或数据源获取css链接值(地址/ url)。这在服务器时间编译。这也意味着在运行时只加载了一个css。这对客户来说是静态的。例如:

  2. 与#1相同,但您可以使用内联if来确定哪一个前进到客户端。

  3. 最后,确保两个css文件都保存在静态进程中,并维护你的jquery: $('#listicon').click(function () { $('link[href="{% static /path/to/first/css/page %}"]').attr('href', '{% static /path/to/first/css/page %}'); }); $('#tilesicon').click(function () { $('link[href="{% static /path/to/second/css/page %}"]').attr('href', {% static /path/to/second/css/page %}); }); 我输入了这个内存,所以请耐心等待。 希望这会有所帮助。

答案 1 :(得分:0)

只需为链接标记添加其他属性id即可。您可以从stylesheet中移除当前head并添加另一个<link rel="stylesheet" id="myid" href="../Stylesheets/listVersion.css"> $('#myid').remove(); $('head').append( $( '<link/>', {'rel' : 'stylesheet', 'id': 'myid', 'href':'newlink' } ));

{{1}}