2012-04-03 56 views
2

我有4個硬編碼的divs。第三個div後,我想打破或將第四個div放在一個新的線上。我如何做到這一點,我可以做這個PHP或我必須使用JavaScript/jQuery? divs被包裹在一個標籤標籤btw中。 我忘了提及標籤是動態開啓的。所以並不是所有的標籤都被一次查看。這麼多個div後打破

<label class="1"> 
    <div id="div1">Stuff 1</div> 
</label> 
<label class="2"> 
    <div id="div2">Stuff 2</div> 
</label> 
<label class="3"> 
    <div id="div3">Stuff 3</div> 
</label> 
<label class="4"> 
    <div id="div4">Stuff 4</div> 
</label> 
+1

'
'是最簡單的解決方案 – hjpotter92 2012-04-03 18:19:45

+1

如果我沒有弄錯,他們應該無論如何都是分開的。你在那裏放置了一個'display:inline'風格嗎? – spencercw 2012-04-03 18:20:39

+0

我更新了問題。但是,我有其他的CSS,使他們內聯 – Joe 2012-04-03 18:21:59

回答

4

使用nth-child

$('label:nth-child(4n)').after("<br/>");​ 
+0

謝謝!這對我所需要的很好,而且很簡單。 – Joe 2012-04-03 18:36:30

+1

我不知道你可以在'n-child(n)'中有乘數 - 非常酷。 – jrummell 2012-04-03 18:36:58

+0

@paislee - 有沒有辦法添加額外的檢查來查看標籤是否可見,然後在此腳本中執行此操作? – Joe 2012-04-03 18:48:11

1

你可以通過使用jQuery的.each()方法標籤循環,並添加<br/>如果當前的指數是被3整除

$("label").each(function(i){ 
    if (i%3 == 0) 
    { 
     $(this).after("<br/>"); 
    } 
}); 
+0

+1不錯...... – 2012-04-03 18:26:07

+0

@ RokoC.Buljan nope,jQuery在調用匿名回調函數時設置'i'。 – jrummell 2012-04-03 18:27:10

+0

是的是的抱歉,我手機和(i)內部大括號被我的水庫吃掉。 +1 – 2012-04-03 18:29:21

相關問題