如何为每组元素运行jQuery方法

Nil*_*s_e 1 html jquery plugins loops

所以我有这个列表在列表中的所有项目上使用相同的类名.我有一个jQuery插件,可以找到最高的元素,并使所有列表项的高度等于最高.

我想要做的是我想为每个UL组运行该方法.我的意思是,现在jQuery正在选择所有LI元素,即使它们在其他列表中并使它们与最高的元素完全相同.我只希望列表项与列表中最高的元素一样高,而不是在其他列表中.

这就是我所说的它并且它有效,但不是我要问的方式.

$j('.list-item').equalHeights(200); //minimum is 200px
Run Code Online (Sandbox Code Playgroud)

我尝试了这个,但它产生了相同的结果:

$j('.lists').find('li').equalHeights(200);
Run Code Online (Sandbox Code Playgroud)

我不确定我是否必须遍历每个UL然后以这种方式运行方法?

HTML:

<ul class="lists">
    <li class="list-item">item</li>
    <li class="list-item">item</li>
    <li class="list-item">item</li>
    <li class="list-item">item</li>
</ul>
<ul class="lists">
    <li class="list-item">item</li>
    <li class="list-item">item</li>
    <li class="list-item">item</li>
    <li class="list-item">item</li>
</ul>
<ul class="lists">
    <li class="list-item">item</li>
    <li class="list-item">item</li>
    <li class="list-item">item</li>
    <li class="list-item">item</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 6

是的,你想要循环:

$j('.lists').each(function() {
    $j(this).find('li').equalHeights(200);
});
Run Code Online (Sandbox Code Playgroud)

$j('.lists').find('li').equalHeights(200);很接近,但是它找到了所有列表li下的所有元素,并返回一个包含所有这些元素的jQuery实例(所以,仍然是整个集合).上面的过程每个列表都是孤立的.