2013-05-17 41 views
2

我在頁面上有許多元素,它們包含一個標題和一個圖像,我想改變它的順序。例如切換與H2的IMG的順序:使用jQuery切換多組元素的順序

<section> 
    <img> 
    <h2></h2> 
</section> 

我有部分的多個實例,所以曾試圖遍歷每個依次爲:

$("section h2").each(function(){ 
    $(this).before($(this).prev('img'));  
}); 

但這不具有任何影響。任何人都可以提出我做錯了什麼?

+1

你能發佈小提琴?最有可能的是,在添加新文檔後,您不會'刪除舊的文檔' – 2013-05-17 13:03:43

+1

from docs'在參數指定的內容中插入匹配元素集合中的每個元素之前的內容.'所以您要插入img在此之前 - 這就是爲什麼它不會改變 –

+0

謝謝@JoeCoderGuy,但VisioN的答案下面解決了它。我的小提琴在http://jsfiddle.net/DhCDp/對任何有興趣的人。 –

回答

3

insertBefore()將很好地工作:

$("section h2").each(function() { 
    $(this).insertBefore($(this).prev("img")); 
}); 

DEMO:http://jsfiddle.net/kqLeD/

+0

完美,謝謝。 .before()和.insertBefore()之間的混淆 –