[英]Jquery wrap elements inside div
我想在以下三個元素上添加一個div:
<div class="wrapper">
<fieldset class="inner"></fieldset>
<fieldset class="inner first_name"></fieldset>
<fieldset class="inner last_name"></fieldset>
<fieldset class="inner user"></fieldset>
<fieldset class="inner password"></fieldset>
<fieldset class="inner"></fieldset>
<fieldset class="inner avatar"></fieldset>
<fieldset class="inner submit"></fieldset>
</div>
因此結果如下:
<div class="wrapper">
<div class="inner-left">
<fieldset class="inner"></fieldset>
<fieldset class="inner first_name"></fieldset>
<fieldset class="inner last_name"></fieldset>
<fieldset class="inner user"></fieldset>
<fieldset class="inner password"></fieldset>
</div>
<div class="inner-middle">
<fieldset class="inner"></fieldset>
<fieldset class="inner avatar"></fieldset>
</div>
<div class="inner-right">
<fieldset class="inner submit"></fieldset>
</div>
</div>
我已經嘗試過Jquery Multiple Wrap,但是我無法實現它。 可以用jQuery完成嗎?
謝謝,
在jquery中使用.wrapAll()
。 然后.slice()
將dom元素拆分為您想要的
$(".inner").slice(0,5).wrapAll( "<div class='inner-left'></div>" );
$(".inner").slice(5,7).wrapAll( "<div class='inner-middle'></div>" );
$(".inner").slice(7).wrapAll( "<div class='inner-right'></div>" );
var cache = $( ".inner" )
cache.slice(0,5).wrapAll( "<div class='inner-left'></div>" )
.end()
.slice(5,7).wrapAll( "<div class='inner-middle'></div>" )
.end()
.slice(7).wrapAll( "<div class='inner-right'></div>" );
您可以使用:lt
和:gt
偽選擇器來獲取一系列元素,然后將wrapAll
放入元素中:
$('.inner:lt(5)').wrapAll($('<div>').addClass('inner-left'));
$('.inner:gt(4):lt(2)').wrapAll($('<div>').addClass('inner-middle'));
$('.inner:gt(6)').wrapAll($('<div>').addClass('inner-right'));
演示: http : //jsfiddle.net/7JY8p/1/
嘗試這個
$('.inner:eq(0), .inner:eq(1), .inner:eq(2), .inner:eq(3), .inner:eq(4)').wrapAll( "<div class='inner-left'></div>");
$('.inner:eq(5), .inner:eq(6)').wrapAll( "<div class='inner-middle'></div>");
$('.inner:eq(7)').wrap( "<div class='inner-right'></div>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.