我需要找到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>
答案 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'}));
});
以下是我问过的类似问题的链接:
答案 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)'));