我正在尝试循环浏览一些导航HTML,因为我需要动态修改一些项目。具体来说,我将如何使用类Droppable循环遍历每个项目并获取某些子项的jQuery对象。我在下面发布了我的代码,上面有一串星号(*)表示我需要操作jquery对象的注意事项。
<nav id="sitenav">
<ul class="container ul-reset">
<li class="droppable "> ****** foreach of these
<a class="RootNode" id="Help" href="javascript:;">HELP</a> ****** I need this
<div class="mega-menu">
<div class="container cf">
<div style="display: inline-block;">
<ul class="ul-reset"> ****** and I need this
<a class="heading disabled" id="Help_Help" href="javascript:;">
<h3>Help</h3>
</a>
<a id="ContactUs" href="/ContactUs/">Contact Us</a>
<a id="UserGuides" href="/Help/">User Guides</a>
</ul>
</div>
</div>
</div>
</li>
{more lis with the same structure...}
</ul>
</nav>
我尝试了下面但是我得到一个错误,它没有一个find方法,我认为这会因为我认为这将是每个循环中当前jQuery包装的DOM元素。
$("li.droppable").each(function (index) {
var header = this.find("a.RootNode");
var col = this.find("ul.ul-reset");
});
答案 0 :(得分:4)
.find()
是一个jQuery方法,您无法在DOM对象this
上调用它。
您可以在jQuery对象.find()
上调用$(this)
方法,因此它应该是:
$("li.droppable").each(function(index) {
var $this = $(this);
var header = $this.find("a.RootNode");
var col = $this.find("ul.ul-reset");
});