您好我已经尝试解决这个问题很长一段时间了。回到我使用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');
});
如果可能,我希望能够在它们之间切换。任何形式的帮助将不胜感激
答案 0 :(得分:0)
你可以做两件事之一。
您可以使用静态引用将一个CSS文件加载到另一个上,方法是在代码中使用if标记从变量或数据源获取css链接值(地址/ url)。这在服务器时间编译。这也意味着在运行时只加载了一个css。这对客户来说是静态的。例如:
与#1相同,但您可以使用内联if来确定哪一个前进到客户端。
最后,确保两个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}}