在jQuery </div>中的<div>中包装多个图像

时间:2010-03-23 09:13:56

标签: javascript jquery element

我需要找到div内的所有图像,并在它们周围包裹div。这是我提出的代码,但这不起作用!为什么呢?

jQuery(function() {
  my_selection = [];
  $('.post').each(function(i) {
    if ($(this).find('img').length > 1) {
      my_selection.push(['.post:eq(' + i + ')']);
    }
  });
  $(my_selection.join(',')).wrapAll('<div class="wrapper"></div>');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

6 个答案:

答案 0 :(得分:3)

如下:

$('.post img').wrapAll('<div class="wrapper" />');

.post img会在.post容器中收集IMG个标记,而wrapAll会在每个标记周围应用DIV

manual page for the wrapAll function实际上有一个非常接近你想要的例子。

答案 1 :(得分:1)

很难说,因为我无法看到你的标记,但有类似的内容:

$('.post img').wrapAll('<div class="wrapper" />');

答案 2 :(得分:1)

这有效!

$('.post').each(function(){
    var container = $(this);
    $('img', container).wrapAll('<div class="slideshow" />');
});

答案 3 :(得分:0)

试试这个

 $('.post img').each(function() {
      $(this).wrap($('<div/>', { 'class': 'wrapper'}));
    });

以下是我问过的类似问题的链接:

Create new div arround anchor link when clicked

答案 4 :(得分:0)

$('img').each(function (){
   $(this).wrap('<div class="new" />');
});

答案 5 :(得分:0)

在.post中的每个img周围包裹一个div:

$('.post img').wrap('<div class="wrapper" />');

在每个有img:

的帖子周围换一个div
$('.post:has(img)').wrap('<div class="wrapper" />');

将包含img的所有div移到包装器div中:

$('<div class="wrapper" />').append($('.post:has(img)'));