Я сканировал, пытаясь найти подходящее решение для назначения класса «активный / текущий» пунктам меню на главной странице.Строка разделена посередине относительно того, делать ли этот клиент против серверной стороны.
По правде говоря, я новичок в JavaScript и MVC, поэтому у меня нет мнения.Я бы предпочел сделать это «самым чистым» и наиболее подходящим способом.
У меня есть следующий код jQuery, чтобы назначить «активный» класс элементу
... единственная проблема - это "index "или элементу меню вида по умолчанию всегда будет назначаться активный класс, потому что URL всегда является подстрокой других ссылок меню:
(default) index = localhost/
link 1 = localhost/home/link1
link 2 = localhost/home/link1
$(function () {
var str = location.href.toLowerCase();
$('#nav ul li a').each(function() {
if (str.indexOf(this.href.toLowerCase()) > -1) {
$(this).parent().attr("class","active"); //hightlight parent tab
}
});
Есть ли лучший способ сделать это, ребята?Может ли кто-нибудь хотя бы помочь мне получить пуленепробиваемую версию на стороне клиента?Чтобы ссылка «индекс» или ссылка по умолчанию всегда была «активной»?Есть ли способ присвоения фальшивого расширения методу index?например, вместо базового URL-адреса он будет localhost/home/dashboard
, чтобы он не был подстрокой каждой ссылки?
По правде говоря, я действительно не следую методам выполнения этой серверной части, котораяВот почему я пытаюсь сделать это на стороне клиента с jQuery ... любая помощь будет оценена.