Javascript 使用Jquery从列表创建菜单,仅显示父ul和当前级别
我一直在尝试从一个列表创建一个菜单,当当前链接被标识为一个span时,我使用它来显示父级和所有分支上的当前级别,同时我在站点中导航。我对脚本编写相当陌生,如有任何帮助,将不胜感激 例子 如果清单是: A. A b A、b、c A b 当前分支跨度在c上。 我希望清单是: B b c b -HTML列表-Javascript 使用Jquery从列表创建菜单,仅显示父ul和当前级别,javascript,jquery,html,Javascript,Jquery,Html,我一直在尝试从一个列表创建一个菜单,当当前链接被标识为一个span时,我使用它来显示父级和所有分支上的当前级别,同时我在站点中导航。我对脚本编写相当陌生,如有任何帮助,将不胜感激 例子 如果清单是: A. A b A、b、c A b 当前分支跨度在c上。 我希望清单是: B b c b -HTML列表- <ul> <li><span class="currentbranch0"><a href="/site/">Home</a>
<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();
};
});
});
(document).ready(函数(){var output='”;
输出+=$(“#侧边导航跨距”).last().parent().parent().parent().parent().parent().html();
输出+='
';
document.getElementById('side_nav')。innerHTML=output;
});$(“#侧导航李”).ready(功能(){
var计数=[];
$(“#side#nav ul[class^='multively-']”)。每个(函数(){
var item=$(this.attr('class'))
计数、推(项);
count.sort();
});
$('side#nav li')。每个(函数(){
if($(this.parent('ul').hasClass(count[count.length-1])){
$(this.remove();
};
});
});
我不确定它应该做什么,但您可以试试这个,我已经更新了JSFIDLE。如果我理解这个问题,您只想显示包含类currentbranch的span的列表项,如下所示。否我想在整个列表中显示同一级别和上一级别的列表项。如果列表为:A b c b且当前分支范围位于c上。我希望名单是b