0

現在のリンクがスパンで識別され、サイトをナビゲートするときにすべてのブランチの親レベルと現在のレベルを表示するときに、リストからメニューを作成しようとしました。私はスクリプティングにかなり慣れていないので、どんな助けでも大歓迎です 例 リストが次の場合: AA b A bc A b

そして、現在のブランチ スパンは c にありました。リストを次のようにしたい:bbcb

-HTML一覧-

<ul>
    <li><span class="currentbranch0"><a href="/site/">Home</a></span>
    <ul class="multilevel-linkul-0">
        <li><a href="/site/news/">News</a>
        <ul class="multilevel-linkul-1">
            <li><a href="/site/news/internal/">Internal</a>
            <ul class="multilevel-linkul-2">
                <li><a href="/site/news/internal/archive/">Archive</a></li>
            </ul>
            </li>
            <li><a href="/site/news/external/">External</a>
            <ul class="multilevel-linkul-2">
                <li><a href="/site/news/external/archive/">Archive</a></li>
            </ul>
            </li>
            <li><a href="/site/news/poll/">News Poll</a></li>
            <li><a href="/site/news/allnews/">All News</a></li>
        </ul>
        </li>
        <li><span class="currentbranch1"><a href="/site/locations/">Locations</a></span>
        <ul class="multilevel-linkul-1">
            <li><a href="/site/locations/a/">a</a></li>
            <li><a href="/site/locations/b/">b</a></li>
            <li><ahref="/site/locations/c/">c</a></li>
            <li><span class="currentbranch2"><a href="/site/locations/menutest/">Menu Test</a></span>
            <ul class="multilevel-linkul-2">
                <li><a href="/site/locations/menutest/test/">test</a></li>
            </ul>
            </li>
        </ul>
        </li>
    </ul>
    </li>
</ul>

脚本

     (document).ready(function() {  var output = '<ul>';
output += $("#side_nav span").last().parent().parent().parent().parent().html();
        output += '</ul>';
        document.getElementById('side_nav').innerHTML = output;
    });$("#side_nav li").ready(function() {
    var count = [];
        $("#side_nav ul[class^='multilevel-']").each(function(){
            var item = $(this).attr('class')
            count.push(item);
            count.sort();
        });


        $('#side_nav li').each(function(){
        if($(this).parent('ul').hasClass(count[count.length-1])){

            $(this).remove();
            };
        });
    });
4

0 に答える 0