[英]jQuery - Insert a div between specific elements
HTML: HTML:
<div class="row">
<div class="A"></div>
<div class="B"></div>
<div class="C"></div>
<div class="D"></div>
</div>
<div class="row">
<div class="A"></div>
<div class="B"></div>
<div class="C"></div>
<div class="D"></div>
</div>
What I want to achieve: 我想要实现的目标:
<div class="row">
<div class="newDiv">
<div class="A"></div>
<div class="B"></div>
<div class="C"></div>
</div>
<div class="D"></div>
</div>
<div class="row">
<div class="newDiv">
<div class="A"></div>
<div class="B"></div>
<div class="C"></div>
</div>
<div class="D"></div>
</div>
I tried the next code, Include all in one, ok, but I can not take D out without duplicating content. 我尝试了下一个代码,包括all in one,好的,但是我不能在没有重复内容的情况下取出D。
jQuery('.row').wrapInner('<div class="newDiv"></div>');
And it is impossible to add HTML without tags close alone. 如果单独关闭标签,则无法添加HTML。
jQuery('.A').before('<div class="newDiv">')
jQuery('.D').before('</div>')
You can 您可以
1) iterate over each row 1)迭代每一行
2) get all div element 2)获取所有div元素
3) select first three using .slice(0,3)
3)使用.slice(0,3)
选择前三个
4) wrap using .wrapAll()
: 4)使用.wrapAll()
换.wrapAll()
:
$('.row').each(function(){
$(this).find("div").slice(0,3).wrapAll("<div class='newDiv'></div>");
});
Use your code on each div using .each()
like: 使用.each()
在每个div上使用您的代码,如:
$(document).ready(function(){
$("div[class^=row]").each(function(){
$(this).wrapInner('<div class="newDiv"></div>');
$(this).find(".A").before('<div class="conteneur-produit">')
$(jQuery(this).find(".D")).insertAfter($(this).find('.newDiv'))
});
});
Here is demo: https://jsfiddle.net/7a60jz07/ 这是演示: https : //jsfiddle.net/7a60jz07/
$('.row').each(function(){
var newdiv = $('<div class="newDiv">');
var lastdiv = $(this).children().last();
$(this).append(newdiv);
newdiv.append($(this).children());
newdiv.after(lastdiv);
})
the simplest way I can think would be to do 我能想到的最简单的方法就是做
$('[class^="row"]').prepend('<div class="newDiv">');
$('[class^="row"]').children().last().before('</div>');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.