2012-05-17 2 views
0

я хочу, чтобы присвоить класс A HREF тега, если это его щелкнул, другими словами, если один адрес в адресной строке, назначить один класс этот тег ..Jquery оленья кожа правопреемником CSS класс

I есть этот стиль в моем CSS ..

ul#menu li a { 
padding: 10px 20px; 
font-weight: bold; 
text-decoration: none; 
line-height: 2.8em; 
color: #465c71; 
} 

ul#menu li a.selected { 
padding: 10px 20px; 
font-weight: bold; 
text-decoration: none; 
line-height: 2.8em; 
color: #FFFFFF; 
} 

Где только изменить цвет шрифта ..

И этот Jquery скрипт в макет страницы моего mvc3 проекта ..

у меня есть эта функция. .

<script type="text/javascript"> 
    $(function() { 
     var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1); 
     $("#menu li a").each(function() { 
     var addr = $(this).attr("href").lastIndexOf("/") + 1; 
     if (addr == pgurl) 
      $(this).addClass("selected"); 
    }) 
}); 
</script> 

Где pgurl это смелое значение http://local.host:81/Home/Услуги (Конечно, потому что я использую и работает в другой функции Jquery)

И я аа HREF ссылку, как это ..

<li><a href="@Url.Action("Services", "Home")">@MvcWebRole1.Resources.Shared.Layout.Services</a></li> 

И это выше дает ссылку, как это ..

<a href="/Home/Services">Services</a> 

Где я хочу добавить класс к этому тегу, если первая переменная совпадает с той, что я есть .. Я делаю через firebug или аналогичный (добавьте вручную класс) работает как ожидалось.

Наконец, две переменные должны иметь жирное значение (Services), но не добавляют класс в тег, я работаю с Visual Studio 2010, и я не могу проверить эти значения, я не могу наложить на него любую точку останова, чтобы просмотреть их значения. И как указано выше , у меня есть другая аналогичная функция, которая отлично работает с тегами другого списка.

Может кто-нибудь мне помочь?

Спасибо.

ответ

1
var addr = $(this).attr("href").lastIndexOf("/") + 1; 

выше назначает number + 1 addr. Затем вы продолжаете проверять, что это число равно строке, поэтому, если ваше действие не является числом (не уверен, что это может быть), тогда он всегда будет терпеть неудачу.

Может быть, вы имели в виду, чтобы получить подстроку из ссылки, а

var addr = $(this).attr("href").substr($(this).attr("href").lastIndexOf("/") + 1); 
+0

Большое спасибо Ash, этот зиЬзЬг работает как шарм !!! – bombai

Смежные вопросы