1

メニュー項目に「current」のクラスを与える次のコードがあります。次に、それをスタイリングしますfont-weight:Bold;

$(document).ready(function () {
    var loc = window.location.href;
    $("ul a").each(function() {
        if (loc.indexOf($(this).attr("href")) != -1) {
            $(this).addClass("current");
        }
    });
});

ユーザーがサブメニュー内のページを表示している場合、ルートレベルで親UL / LIにul li a呼び出されるクラスを追加するにはどうすればよいですか?Bold

これが構造です。私がQ&Zグループに所属している場合は、Aboutusを太字にする必要があります。-http ://jsfiddle.net/zZQy3/

4

3 に答える 3

1

現在のノードをjquery変数として使用している場合は、を使用してその親にアクセスできますparent。だから、あなたは使うことができます$(this).parent().addClass(...);

このロジックにjavascriptを使用するのではなく、必要に応じて、セレクターを使用できます。

$('ul li:has(a[href=' + window.location.href + '])').addclass(...);

これは、 HasおよびAttribute Equalsセレクターを使用して、現在のURLと一致するhrefを持つ子孫を持つLIを探しています。

于 2012-04-23T13:49:14.950 に答える
1
var loc = window.location.href;
$("ul a").each(function() {
    if (loc.indexOf($(this).attr("href")) != -1) {
        $(this).addClass("current");
        $(this).parent('li').parent('ul').addClass("Bold");
    }
});
于 2012-04-23T13:50:01.473 に答える
1

あなたは親を探しています:

$(this).parent("li").parent("li").addClass("bold");

上記に2つの親があることに注意してください。これは、要素がli内にあるためです。これは、太字にしたいものではありません。THATのli親を太字にする必要があります。

于 2012-04-23T13:50:46.213 に答える