我的导航栏中有以下元素。
<div class="nav-languages">
<a class="navbar-brand active" id="langStyle" href="/language/it"> ITA </a>
<a class="navbar-brand" id="langStyle" href="/language/en"> ENG </a>
</div>
点击a
链接后,我需要添加课程&#34; active&#34;到被点击的元素并删除类&#34;活动&#34;对其他人。
我的jQuery如下:
$('.nav-languages a').click(function() {
$('.nav-languages a').removeClass('active');
$(this).addClass('active');
});
现在,点击后不久,点击的元素正确地将颜色变为活动状态,而另一个变为非活动状态。但是一旦页面结束加载,情况就会回到之前的状态。
我已经阅读了很多类似问题的答案,但没有人帮助我解决我的问题..
请注意我在jQuery&amp;中完全是新手。 JS。
感谢您提供任何帮助。
编辑:我正在使用Django-Pythonurls.py:
urlpatterns = [
url(r'^$', webprojects_home, name="homepage"),
url(r'^language/(?P<language>[a-z\-]+)/$', language),
]
和
views.py:
### setting language session
def language(request, language='it'):
response = HttpResponse("setting language to %s" % language)
response.set_cookie('lang', language)
request.session['lang'] = language
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
答案 0 :(得分:0)
我通过简单地阅读当前的Django会话语言解决了没有jQuery的问题,并使用此信息手动将类激活设置为正确的链接。
{% if session_language == 'it' %}
<a class="navbar-brand active" href="/language/it"> ITA </a>
<a class="navbar-brand" href="/language/en"> ENG </a>
{%else%}
<a class="navbar-brand" href="/language/it"> ITA </a>
<a class="navbar-brand active" href="/language/en"> ENG </a>
{%endif%}
不是很优雅,但简单而有效: - )
谢谢大家的支持!
答案 1 :(得分:-2)
...简单 jquery代码将是:
$('.nav-languages a').click(function(){
$(this).addClass("active")
$(this).siblings("a").removeClass("active")
});
希望这会有所帮助......