javascript - 使用 jQuery 的 .wrap 元素上方的所有子元素

标签 javascript jquery

我有以下 HTML:

<div class="main_container">
  <a href="#">Financial</a>
  <div class="sub_container">
    <a href="#">Financial services</a>
    <a href="#">Government</a>
  </div>
  <img class="image" src="img/img.png">
  <a href="#">Education</a>
  <div class="sub_container">
    <a href="#">Broadcast and media</a>
    <a href="#">Education</a>
  </div>
  <a href="#">Government</a>
  <div class="sub_container">
    <a href="#">Broadcast and media</a>
    <a href="#">Government</a>
  </div>
  <img class="image" src="img/img.png">
</div>

我正在尝试环绕 img 标签上方的所有元素,但没有结果,我已经尝试使用 wrap、wrapAll、prevAll,但这些都不起作用。

我要获取的输出代码:

<div class="main_container">

  <div class="WRAP_CONTAINER">
      <a href="#">Financial</a>
      <div class="sub_container">
        <a href="#">Financial services</a>
        <a href="#">Government</a>
      </div>
  </div>

  <img class="image" src="img/img.png">

  <div class="WRAP_CONTAINER">
      <a href="#">Education</a>
      <div class="sub_container">
        <a href="#">Broadcast and media</a>
        <a href="#">Education</a>
      </div>
      <a href="#">Government</a>
      <div class="sub_container">
        <a href="#">Broadcast and media</a>
        <a href="#">Government</a>
      </div>
  </div>

  <img class="image" src="img/img.png">
</div>

请帮忙,我开始失去理智了。

最佳答案

应该这样做

​$("img")​.each(function()
{
    $(this).prevUntil("img").wrapAll("<div class='WRAP_CONTAINER'></div>");
})​;​

关于javascript - 使用 jQuery 的 .wrap 元素上方的所有子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13423089/

相关文章:

javascript - 如何选择位于 DOM 层次结构特定范围内的元素?

javascript - 设置 Chart.js 饼图选项

ajax - FullCalendar:事件不显示加载但显示如果我打开 IE 开发人员

javascript - 点击图片即可在jquery中显示其对应的Div

javascript - 获取元素集合的个体高度

javascript - 为什么这个jquery效果不起作用?

javascript - 在使用 jQuery 扩展 DIV 时将高度设置为自动

javascript - jQuery - 库还是框架?

javascript - 如何使用 jQuery 检测 URL 的变化?

javascript - 带有不可见层的预加载器覆盖页面