想象一下以下HTML
<div id="outer">
<div id="elem1"></div>
<div class="helperBtn"></div>
<div class="helperBtn"></div>
<div id="elem2"></div>
<div class="helperBtn"></div>
<div class="helperBtn"></div>
<div id="elem3"></div>
<div class="helperBtn"></div>
<div class="helperBtn"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
如何选择elem2并且两者都跟随div.helperBtn?
我尝试过这样的事情:$('#elem2').add(':next')但无法获得任何有效的解决方案.
有任何想法吗?
在您的情况下,您可以将nextUntil()与addBack()一起使用:
var elements = $("#elem2").nextUntil("#elem3").addBack();
Run Code Online (Sandbox Code Playgroud)
以上将匹配#elem2和之间的所有元素#elem3,然后添加#elem2回集合.生成的jQuery对象将包含三个元素.
编辑:我在另一个答案中看到合法的关注,这个解决方案是硬编码的.这是真的,但它可以很容易地修改,所以你只需要指定第一个元素:
var elements = $("#elem2").nextUntil(":not(.helperBtn)").addBack();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |