0

剣道メニューを使用しています。メニューで選択したアイテムにスタイルを適用しようとしています。私はのように実装しました

$("#menu").kendoMenu({
    select: function (e) {
        // Remove previously selected options for this menu
        $(".k-state-selected", this.element).removeClass("k-state-selected");
        // Select item
        $(e.item).addClass("k-state-selected")
    }
});

.k-menu .k-state-selected> .k-link {
    color: lightcoral;
}

上記で、メニューで選択したアイテムにスタイルを適用できます。

今、

各親アイテムにサブアイテムがあり、メニューでサブアイテムを選択すると、このスタイルを親アイテムに適用したいのですが、これを行う方法を教えてもらえますか?

4

1 に答える 1

0

選択したノードにスタイルを適用したい場合(選択したアイテムで行うのと同様)、それらのノードは CSS クラス でマークされていることを知っておく必要がありますk-state-active

次に、私が提案するのは次のとおりです。

$("#menu").kendoMenu({
    select: function (e) {
        // Remove previously selected options for this menu
        $(".k-state-selected", this.element).removeClass("k-state-selected");
        $(".ob-selected-ancestor").removeClass("ob-selected-ancestor");

        // Select item
        $(e.item).addClass("k-state-selected")
        $(".k-state-active", this.element).addClass("ob-selected-ancestor");
    }
});

マークされたノードから使用するスタイルの削除を開始しob-selected_ancestorます (開始する前にすべてをクリーンアップします)。

ob-selected-ancestor次に、この CSS クラス ( ) を を持つすべてのノードに追加しますk-state-active

最後に、次のようにこのスタイルを定義します。

.ob-selected-ancestor {
    color: green;
}
于 2013-07-19T08:06:47.417 に答える