2012-04-11 114 views
4

我想通過一個數組訂貨li元素使用jQuery排序li元素的類與jQuery

我的列表代碼如下所示:

<html> 
<head> 
<script src="list.js" type="text/javascript" charset="utf-8"></script> 
<script src="jquery.js" type="text/javascript" charset="utf-8"></script> 
</head> 

<body> 

<div class="list"> 
    <ul class="xyz"> 
    <li class="element1">content for 1</li> 
    <li class="element2">content for 2</li> 
    <li class="element3">content for 3</li> 
    </ul> 
</div> 

</body> 
</html> 

我現在要重新排序的DOM元素通過一個數組。

我試過,但我不明白這一點在運行:

var array = ['element2', 'element1', 'element3']; 

$.each(array,function(index,value){ 
    $('.xyz').append($(value)); 
}); 

回答

6

你錯過了. - 選擇與class DOM元素,你必須使用. - 看到class selector文檔

var array = ['element2', 'element1', 'element3']; 

$.each(array,function(index,value){ 
    $('.xyz').append($('.'+value)); // add . here 
});​ 

或者,您可以將.添加到陣列中

Working example here

+0

太棒了!非常感謝您的快速幫助!完美的作品! – Dominic 2012-04-11 16:39:07

+0

不錯,非常感謝你。 – 2012-07-04 09:59:40

1

我會將每個li的內部HTML放入數組中,清空元素的ul,然後用第一步中創建的數組的排序項重新填充ul

+1

'.append()'移除並添加DOM元素(如果已經存在的元素上使用)[請參閱文檔](http://api.jquery.com/append/) – ManseUK 2012-04-11 16:07:51

+0

謝謝ManseUK。我沒有看到您提供的鏈接中提到的內容,並且對「刪除」頁面進行標記僅查找一條不相關的評論。我會試驗它,我欣賞指針。 – dotancohen 2012-04-11 18:57:03

+0

搜索單詞「克隆」 - 第一個出現的段落解釋它 – ManseUK 2012-04-11 20:42:37