2012-04-11 55 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