JQuery .each没有循环遍历所有类的元素

时间:2017-04-05 17:13:07

标签: javascript jquery loops each

我正在为我的雇主使用的内容管理平台上的大量定制页面制作导航解决方案。

我正在尝试构建一个循环遍历具有特定类的所有元素的函数,读取数据存储值,然后将基于该值的外部资源加载到容器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>

我不能为我的生活找出为什么它在第一场比赛后停止,但我也不是一个聪明人。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

如果你想只遍历顶级的subLevelNavs

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

如果你想遍历每个子级导航

相关问题