1

私はこのような道を歩んでいます:

http://www.domain.com/admin/item.php?id=4&action=edit

そして、そのパスを取得し、メニューのすべての要素と比較して、次のように現在のメニュー項目に「アクティブ」クラスを追加します。

<ul class="nav nav-list">
<li><a href="http://www.domain.com/admin/item.php?id=1&action=edit">Item 1</a></li>
<li><a href="http://www.domain.com/admin/item.php?id=2&action=edit">Item 2</a></li>
<li><a href="http://www.domain.com/admin/item.php?id=3&action=edit">Item 3</a></li>
<li class="active"><a href="http://www.domain.com/admin/item.php?id=4&action=edit">Item 4</a></li>
<li><a href="http://www.domain.com/admin/item.php?id=5&action=edit">Item 5</a></li>
...
</ul>

Jqueryでそれを行うにはどうすればよいですか?私が試したほとんどの関数は、どちらも完全なパス名を取得できません(すべての変数を含む)

4

1 に答える 1

1

属性セレクターを使用して、指定されたパスに設定されたhrefプロパティを持つアンカー要素を選択します。次に、addClassactiveを使用して、選択したアンカー要素のクラスとして追加します。現在表示しているページの現在の完全なパスが必要な場合は、を使用location.hrefしますが、現在のハッシュがある場合は、これにも含まれることに注意してください。また、IDでメニューを選択することをお勧めしますので、ナビゲーションメニューにIDを追加してください。

function setCurrentMenuPathAsActive(path){
   $(".nav li a[href='" + path + "']").addClass("active");
}

setCurrentMenuPathAsActive(location.href);
于 2013-01-02T17:46:25.857 に答える