2017-04-05 93 views
0

我正在为我的雇主使用的内容管理平台上托管的大量定制页面开发导航解决方案。JQuery。每个类都不循环遍历所有元素

我想建立一个函数,循环遍历具有特定类的所有元素,读取数据存储值,然后将基于该值的外部资源加载到容器div中。

虽然此函数适用于FIRST匹配,但它在此处停止 - 不会迭代文档的其余部分。这个函数本身在一个单独的$(document).ready(function()块中被调用,因为我有几个函数在页面加载时运行。

编辑:有过时的代码可以玩不同的东西,现在的代码如下。

的Javascript:

function loadNavigation() { 
$('.topLevelNav').each(function() { 
var topLevelNavIndex = $(this).data('nav-index')+1; 
var topLevelNavItem = spaceMainContent + " table tr:nth-child(" + topLevelNavIndex + ") td:nth-child(2)"; 
$(this).children().first().load(topLevelNavItem); 
}); 
} 

HTML:

<div class="topLevelNav" data-nav-index="1">Main 
<div>Container</div> 
<div class="subLevelNav" data-nav-index ="3">Sub<div>Container</div></div> 
<div class="subLevelNav" data-nav-index ="4">Sub<div>Container</div></div> 
<div class="subLevelNav" data-nav-index ="5">Sub<div>Container</div></div> 
<div class="subLevelNav" data-nav-index ="6">Sub<div>Container</div></div> 
<div class="subLevelNav" data-nav-index ="2">Sub<div>Container</div></div> 
</div> 
<div class="topLevelNav" data-nav-index ="2">Main 
<div>Container</div> 
<div class="subLevelNav" data-nav-index ="3">Sub<div>Container</div></div> 
<div class="subLevelNav" data-nav-index ="5">Sub<div>Container</div></div> 
<div class="subLevelNav" data-nav-index ="2">Sub<div>Container</div></div> 
</div> 
<div class="topLevelNav" data-nav-index ="3">Main 
<div>Container</div> 
<div class="subLevelNav" data-nav-index ="2">Sub<div>Container</div></div> 
</div> 

我不能为我的生命弄清楚为什么它是第一场比赛后停止,但我也不是一个聪明的人。有什么想法吗?

+3

您的代码'$('。topLevelNav')。each'应该遍历所有'.topLevelNav'元素,其中我确切地看到一个 – j08691

+0

您是否确实拥有多个'topLevelNav'类' div'还是所有其他的'topLevelNav2'类? –

+0

您只有一个.topLevelNav类定义。 – cosmoonot

回答

0

如果你想处理sublevelnavs,你的选择器是错误的。它更改为

$('.topLevelNav .subLevelNav').each(function() { 

,如果你想通过只在顶层subLevelNavs遍历一个

$('.subLevelNav').each(function() { 
如果您想通过每个子级导航遍历