javascript - 包装从某个 div 到某个 div 的所有内容

标签 javascript jquery

我在 cms 中有一个博客样式布局,因此这些 div 有多个实例。

这是结构:

<div class="sfpostContent">
     <p>Some text</p>
     random text
     <p>Some text</p>
     <div class="sfpostsList-img">
         <img src="myimage.jpg"/>
     </div>
</div>
<div class="sfpostContent">
     <p>Some text</p>
     random text
     <p>Some text</p>
     <div class="sfpostsList-img">
         <img src="myimage.jpg"/>
     </div>
</div>

我希望它看起来像这样:

    <div class="sfpostContent">
         <div class="sfpostsList-detail">
             <p>Some text</p>
             random text
             <p>Some text</p>
         </div>
         <div class="sfpostsList-img">
             <img src="myimage.jpg"/>
         </div>
    </div>
   <div class="sfpostContent">
         <div class="sfpostsList-detail">
             <p>Some text</p>
             random text
             <p>Some text</p>
         </div>
         <div class="sfpostsList-img">
             <img src="myimage.jpg"/>
         </div>
    </div>

请注意:我已经通过 jquery 将图像包装在 sfpostsList-img

我希望从 sfpostContentsfpostsList-img 开头的所有内容都包含在 sfpostsList-detail

这是一个该死的编辑器,所以不知道人们会在那里放什么。

最佳答案

我确信有一种更优雅的方法可以做到这一点,但又快又脏:

$('.sfpostContent').each(function() {
      var list_img = $(this).find('.sfpostsList-img');
      var list_img_html = list_img[0].outerHTML;
      list_img.remove();
      $(this).html('<div class="sfpostsList-detail">' + $(this).html() + '</div>' + list_img_html);
});

关于javascript - 包装从某个 div 到某个 div 的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22653355/

相关文章:

javascript - 如何在实时图表中显示一个Json随机数?

javascript - 添加新表单输入失败时增加名称属性

javascript - 如何避免模态对背景内容的影响?

jquery - 有没有一些聪明的方法可以在 jQuery 中自定义 ajax 消息文本?

javascript - 我想通过使用鼠标拖动来创建图像 slider 而不使用额外的插件

javascript - CSS:悬停时文本覆盖在图像上

asp.net - 在 asp.net 页面中包含脚本的正确方法

javascript - 更改光滑 slider 的标题文本

jquery - Twitter Bootstrap 轮播 : Slides All Showing Simultaneously

jquery - 在图像中定位图像