1

私はこのUL/LIを持っています。

ユーザーはメニューからそれらを選択します。達成する必要があるのは、ルート全体のテキスト行を取得することです。たとえばFirst Level 2 - Second Level 1 - Third Level 1。同時に、右側にこれ以上オプションがないことを検証したいと思います。たとえば、ユーザーが [ First Level 2 - Second Level 1I'd like to do something] をクリックして、後にさらに選択肢があることを彼に知らせるFL2 - SL1(true または false の bool 変数が機能し、そこからいくつかの警告を表示して取得できます)。

テキスト属性で遊んだことがありますが、メニューがネストされており、単一レベルの UL ではないため、機能しません。

どんなアイデアでも大歓迎です。ありがとう。

4

2 に答える 2

1

liのクリックイベントの代わりに、アンカータグのクリックイベントを使用してルートを取得し、さらにレベルが存在することを確認しました

http://jsfiddle.net/q6yDe/586/

于 2012-10-16T16:49:16.207 に答える
1

私の試みはhttp://jsfiddle.net/KVs9C/にあります。

$("#mylist a").click(function() {
    var path = "",
        moreChoices = $(this).next().size(); 

    console.log("More choices? " + !!moreChoices);

    $(this).parents("li").each(function() {
        path = $(this).find("a:first").text() + " - " + path;
    });
    console.log(path);
});

fuzionpro のように、li 要素ではなくアンカー要素にクリック リスナーを追加することをお勧めします。パスは、すべての親 li 要素をトラバースし、それぞれの最初のアンカー タグのテキストを追加することによって構築できます。現在、パスは余分なダッシュで終わっていますが、これは削除する必要があります。

于 2012-10-16T18:57:28.690 に答える