2010-12-20 3 views
0
<ul> 
<li class="topnav">FirstSet 
    <ul> 
    <li><a href='1.aspx'/></li> 
    <li><a href='2.aspx'/></li> 
    </ul> 
</li> 
<li class="topnav">SecondSet 
    <ul> 
    <li><a href='3.aspx'/></li> 
    <li><a href='4.aspx'/></li> 
    </ul> 
</li> 
</ul> 

это мое меню управления, когда я нахожусь на 1.aspx/2.aspx мне нужно в меню поставьте отметку FirstSetкак найти якорный тег в теге привязки?

$("#nav").find("a[href='" + window.location.pathname + "']").each(function() { 
     $(this).addClass("activeTab"); 
}); 

используя код abouve Jquery, я пытался добавить класс динамически. Пожалуйста, дайте мне знать, если я потерял somethignn в вышеупомянутом jquery.

+0

Хорошо, что происходит? И какие шаги необходимо предпринять, чтобы попытаться устранить проблему? :-) –

+0

Попробуйте добавить некоторые инструкции console.log. то есть console.log (window.location.pathname) и посмотрите, какой селектор вы создаете. –

+0

Я не могу добавить класс динамически ... Я смущен, как написать код jquery для добавления класса для li, если у меня есть тег привязки, такой же, как window.location.pathname. – nimi

ответ

1

Вам не нужно each() вызов:

$("#nav").find("a[href='" + window.location.pathname + "']").addClass("activeTab"); 

В зависимости от того, где нав это, вероятно, можно сделать это:

$("#nav a[href='" + window.location.pathname + "']").addClass("activeTab"); 
+0

Полезная информация. Однако, если сообщение не работает, то и это не будет. –

+0

это не работает ... я попытался получить все теги привязки с помощью $ ("# nav li.topnav ul li a [href = '" + window.location.pathname + "']"); но не работает. – nimi

+0

Это работает, была проблема с кодом url. – nimi

0

Если вы пытаетесь добавить класс к ограждающих topnav.li, что-то, как это должно работать:

$('#nav') 
    .find('li.topnav') 
    .has('a[href='+window.location.pathname+']') 
    .addClass('activeTab'); 

Это обычное совпадение строк: имейте в виду, что что-то вроде ведущей косой черты / в window.location.pathname, но не в ваших тегах <a>, приведет к сбою совпадения.

+0

Я пробовал это и давал ошибку $ ("# nav"). Find ("li.topnav"). Has is not a function – nimi

+0

'.has()' был добавлен в jQuery 1.4. Какую версию ты используешь? –

+0

Я думаю, я использую версию 1.3 .. спасибо, я обновлю свою версию и проверю это. – nimi

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