0

そのため、メニューに無数のカスタム リンクがあるこの WordPess サイトがあり、代わりに js、特に jQuery を使用して、現在のメニュー項目に対してクラスをアクティブに設定するだけで時間を節約できると考えました。そのようです -

var url = window.location;
$('a[href*="' + url + '"]', 'header').addClass('active');

さようならphpオーバーヘッド!

このスクリプトを使用すると、URL がメニュー項目に部分的に一致する場合でも (たとえば、カテゴリ名がメニューにあり、URL が /thatcategory/somepost/ である場合)、単一のページでクラスを設定できないようです。このスクリプトに追加して、すべてのページで同じように実行できるものはありますか?

4

1 に答える 1

1

末尾のスラッシュが一致していることを確認してください。そのため、 の最後にスラッシュがある場合はwindow.locationhref. リンクに完全なドメインが含まれているかどうかを確認すると、役立つ場合もあります。

http://www.example.com/one/twoは href /one/twoのリンクと一致しません

window.location.pathname完全な URL の代わりにそれを使用して照合することを検討する価値があるかもしれません。

于 2013-05-29T09:30:42.460 に答える