如何使用jQuery将每个h1元素及其后续至下一个h1前的所有元素包裹在div容器中
解决方法:正确包裹每个H1及其后续内容
嘿,我来帮你搞定这个问题!你之前用的prevUntil("h1")方向完全搞反啦——它是用来找当前元素之前的同级元素,而你需要的是每个H1之后直到下一个H1的内容,所以肯定达不到预期效果。
正确的代码实现
直接用nextUntil获取H1后面的元素,再把H1本身和这些元素一起包裹起来就行:
$("h1").each(function() { // 把当前H1和它后面直到下一个H1的元素合并成一个集合 $(this).add($(this).nextUntil("h1")).wrapAll("<div></div>"); });
代码解释
$(this):指代当前遍历到的H1元素.nextUntil("h1"):选取当前H1之后、下一个H1之前的所有同级元素.add(...):把H1本身和后面的元素合并成一个完整的集合.wrapAll("<div></div>"):把整个集合一次性包裹到一个<div>里
这样运行之后,就能得到你想要的结构:每个H1和它后续的内容都会被单独包裹在一个<div>中,完美符合需求~
内容的提问来源于stack exchange,提问作者JackNapier
相关产品推荐
相关产品推荐

