我想选择两个给定元素之间的所有元素。我有像这样的HTML ......
<h2>This is firsty</h2>
<p>Some para</p>
<ul>
<li>list items</li>
<li>list items</li>
<li>list items</li>
<li>list items</li>
<li>list items</li>
</ul>
<h2>Secondy</h2>
<p>More text</p>
我想选择从第一个h2
到第二个h2
的所有内容,因此我可以将其包装在div
中,最后包含在自己的包装中的所有部分。
答案 0 :(得分:6)
我建议:
var elems = $('h2:first').nextUntil('h2');
或者,执行实际包装:
$('h2:first').nextUntil('h2').wrapAll('<div />');
更一般地说:
$('h2').each(
function(i,e) {
$(this)
.nextUntil(this.tagName)
.wrapAll('<div />');
});
为了包含起始元素,只需使用andSelf()
作为选择链的一部分:
$('h2:first').nextUntil('h2').andSelf().wrapAll('<div />');
参考文献: