2017-10-06 75 views
-2

我有一個通用的清單我需要拆分每3華里的,並把它們添加到一個div

<ul> 
    <li>list item1</li> 
    <li>list item2</li> 
    <li>list item3</li> 
    <li>list item4</li> 
    <li>list item5</li> 
    <li>list item6</li> 
</ul> 

但是我想做的是

<div class="list"> 
    <ul> 
    <li>list item1</li> 
    <li>list item2</li> 
    <li>list item3</li> 

    </ul> 
</div> 

<div class="list"> 
    <ul> 
    <li>list item4</li> 
    <li>list item5</li> 
    <li>list item6</li> 

</ul> 

我已經使用這個腳本,但它只顯示2 li元素在1 div我的要求是使3 li在一個div

$('ul > li:nth-child(2n-1)').each(function() { 
    $(this).next().add(this).wrapAll('<div class="list"><ul></ul></div>'); 
}).eq(0).closest('div').unwrap(); 
+0

嗨Farhad可以請你幫我解決這個問題。我在做什麼錯誤,請你讓我知道 – ASHU

+0

列表是否動態生成?比如說,在後端使用PHP或Java? –

+0

2n-1將循環每2,你應該使用3n-1 ... – Salketer

回答

3

$('ul > li:nth-child(3n-2)').each(function() { 
 
    $(this).next().add($(this).next().next()).add(this).wrapAll('<div class="list"><ul></ul></div>'); 
 
}).eq(0).closest('div').unwrap();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
    <li>list item1</li> 
 
    <li>list item2</li> 
 
    <li>list item3</li> 
 
    <li>list item4</li> 
 
    <li>list item5</li> 
 
    <li>list item6</li> 
 
</ul>

的關鍵是使用3N-2靶向右元素(第一,第四等),然後添加以設置2個sibblings,和包裹。

你非常接近!

+0

其實我想要3個li在一個div裏使用這個不工作 – ASHU

+0

這是,運行代碼片段有證明... – Salketer

+0

https://jsfiddle.net/sensex00007/ 你可以在這裏che它...你可以在這裏修改 – ASHU

相關問題