【问题标题】:How to wrapAll elements like this如何像这样包装所有元素
【发布时间】:2011-05-27 17:23:28
【问题描述】:
<div id="editor">
  text
  <div id="wrap"> <!-- here -->
    <img src="images/1.jpg"/>
  </div>
  text</p>
  <div id="wrap"> <!-- and here -->
    <img src="images/3.jpg"/>
    <img src="images/4.jpg"/>
    <img src="images/5.jpg"/>
    <img src="images/6.jpg"/>
  </div>
</div>

【问题讨论】:

  • 您的问题能否更具体一点?包什么?什么?星号应该代表什么?
  • 暂时假设您不知道自己要完成什么并问自己-如果我是其他人,我会理解这个问题吗?我知道我NO IDEA你想要完成什么,你已经尝试过什么以及具体没有工作

标签: jquery dom tags word-wrap wrapall


【解决方案1】:

我想你想包装 &lt;img&gt; 元素的分组。

如果是这样,请执行以下操作:

示例: http://jsfiddle.net/patrick_dw/RXFVM/1/

$('#editor > img:not(img + img)').each(function() {
    $(this).nextUntil(':not(img)').andSelf().wrapAll('<div class="wrap"></div>');
});
  • 'img:not(img + img)':获取前面没有图片的图片
  • .each(): 遍历它们
  • .nextUntil(':not(img)'): 获取所有下一个元素,只要是图片即可
  • .andSelf():包含原图
  • .wrapAll('&lt;div class="wrap"&gt;&lt;/div&gt;'):包团

请注意,我将 id="wrap" 更改为 class="wrap",因为您不能在页面上重复使用 ID。


编辑:更新了示例链接以使用完整的图像。

【讨论】:

    【解决方案2】:

    据我了解,您想用 jquery 包装图像吗?

    它可能看起来像这样

    $('img').wrap('<div id="wrap" />');
    

    但如果您想要更好的答案,实际上您必须更精确

    【讨论】:

    • 我想用 jquery 包装图像。您的示例包含所有标签“img”。但我需要在第一个 img 标签和 last 之间包装附近的标签
    猜你喜欢
    • 2018-01-07
    • 2013-02-09
    • 2016-09-08
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 2011-06-19
    • 2011-07-21
    • 1970-01-01
    相关资源
    最近更新 更多