用 DIV 包裹 HTML 直到下一个 H3
我有以下 HTML 结构:
$('#subgroup a').nextUntil('h3').wrapAll('<div></div>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="subgroup">
<h3>Group name #1</h3>
<a href="#">Link #1</a>
<a href="#">Link #2</a>
<h3>Group name #2</h3>
<a href="#">Link #3</a>
<a href="#">Link #4</a>
</div>
我有这个平面结构是因为我想使用 jQuery UI 的手风琴效果。我想将所有 a
元素包装在 h3
元素之间。
但这导致一些 a
元素消失。我已经尝试了很多选择器,但没有一个起作用。我这样做对吗?
I have the following HTML structure:
$('#subgroup a').nextUntil('h3').wrapAll('<div></div>');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="subgroup">
<h3>Group name #1</h3>
<a href="#">Link #1</a>
<a href="#">Link #2</a>
<h3>Group name #2</h3>
<a href="#">Link #3</a>
<a href="#">Link #4</a>
</div>
I have this flat structure because I want to use jQuery UI's accordion effect. I want to wrap all a
elements between the h3
elements.
But this caused some of the a
elements to disappear. I've tried quite a few selectors but none of them has worked. Am I doing this right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
像这样的方法应该有效,尽管我猜测有很多不同的方法可以做到这一点:
An approach like this should work, though I'm guessing there are many different ways of doing this:
这就是经过一些漂亮(但肮脏)的 jQuerying 来整理 HTML 后的样子:
换句话说,所有其他
a
元素都消失了?然后我运行这个 jQuery 脚本:
但这会导致
#subgr-productlist div
呈现如下:This is what it looks like after some nice (and dirty) jQuerying, to tidy up the HTML:
In other words, all the other
a
elements disappear?Then I run this jQuery script:
But that results in the
#subgr-productlist div
to render like this: