javascript - 使用 jQuery 在页面加载后生成包装 DIV

标签 javascript jquery html

我们正在使用生成以下 HTML 的 CMS:

<h3 class="heading">Heading 1</h3>
  <div>Content</div>
  <div>More content</div>
  <div>Even more content</div>
<h3 class="heading">Heading 2</h3>
  <div>Some content</div>
  <div>Some more content</div>
<h3 class="heading">Heading 3</h3>
  <div>Other content</div>

不幸的是,我们不能轻易改变这个结构,但我们想添加以下 div 以用于 Accordion 式动态布局:

<div class="section">
  <h3 class="heading">Heading 1</h3>
    <div>Content</div>
    <div>More content</div>
    <div>Even more content</div>
</div>
<div class="section">
  <h3 class="heading">Heading 2</h3>
    <div>Some content</div>
    <div>Some more content</div>
</div>
<div class="section">
  <h3 class="heading">Heading 3</h3>
    <div>Other content</div>
</div>

我想知道如何在使用 jQuery 加载页面后添加包装 div。

代码必须遍历 DOM,识别 h3.heading,然后围绕标题和所有后续 div 创建一个包装父 div。

或者是否有更简单的方法来实现这一点?

最佳答案

示例:http://jsfiddle.net/TK6ay/1/

$('.heading').each(function(){
    $(this).nextUntil('.heading').andSelf().wrapAll('<div class="section"/>');
});

关于javascript - 使用 jQuery 在页面加载后生成包装 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9984869/

相关文章:

javascript - 以编程方式(不是由用户)更改选择选项时,jQuery 脚本不执行

javascript - 将带有 AM/PM 的日期字符串转换为 javascript 日期对象

javascript - 如何制作具有彩色效果的粘性标题

javascript - 在网络音频中,为什么 contextTime 比 baseLatency 滞后 currentTime?

javascript - 尝试通过传入函数来绑定(bind)回调会引发错误

javascript - AJAX 加载 div ID 的 child

javascript - 在多个文件上传中删除文件时显示剩余文件数

javascript - 下拉项目上的点击事件 - jquery

html - 为什么我的 margin-top 不起作用?

javascript - 你可以在 pug 文件中使用 PHP 吗?