2013-08-28 77 views
0

我試圖移動類stam2的元素,所以它是在第五個孩子之後。這是我所嘗試的。該項目似乎被刪除。javascript中的第n個孩子之後的移動元素

$('.stamp2').remove().after('.section:nth-child(5)'); 

HTML:

<section class="photo small stamp stamp1">..</section> 
<section class="photo small stamp stamp2">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
<section class="photo small">..</section> 
+0

請分享HTML也 –

+0

嘗試'$(」。STAMP2' ).detach()。insertAfter('。section:nth-​​child(5)');' –

+0

_「該物品似乎已被移除。」_ - 所以你說物品_is_已從原來的位置移除,但不是插入你想要的地方(或其他地方)? – nnnnnn

回答

5

刪除該.remove()位,只是用after()將移動節點:

DEMO

$('section:nth-child(5)').after($('.stamp2')) 
+0

第一個suggstione將'.section:nnth-child(5)'添加爲文本刺探,而不是在該元素之後。 – Himmators

+0

對不起,簡短的brainfreeze :)'after()'函數以相反的方式工作,我已經更新了答案。 – mishik

1

嘗試.insertAfter()

$('.stamp2').detach().insertAfter('.section:nth-child(5)') 
1

您不需要刪除它。只需使用功能後,它會做的伎倆

$('.stamp2').after($('.section:nth-child(5)')); 
+0

這將'.section:nnth-child(5)'添加爲文本刺探,而不是在該元素之後。 – Himmators

+0

對不起,我忘了添加$()選擇器...我將編輯它。謝謝 – fditz

0

使用分離(),而不是刪除(),然後使用InsertAfter()