多ul反向订单
问题描述:
我是jquery的新手,我有一个包含多个无序列表的页面ul。 我需要颠倒每个ul的顺序,我看到了这个答案jQuery reversing the order of child elements 但它会混淆具有所有列表的所有项目。 我试图改变代码以适应我的需求,但它不会做我想要的,我可以访问每个ul的每个li,但我不知道如何反转li项目的顺序。多ul反向订单
我的代码:
$(function() {
ul = $('ul'); // your parent element
ul.each(function(i,ul){
$(this).children().each(function (i,li) {
alert(i);/*i got to do something here*/
});
})
});
答
这是当你有多个ul
的:http://jsfiddle.net/dG373/4/
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
<ul>
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
-
$('ul').each(function(){
var ul = $(this);
ul.children().each(function(i, li){
ul.prepend(li)
});
});
答
关闭我的头顶:
1)选择要扭转(如$("div.myitems")
)
2的顺序选择项目)调用$.makeArray
上的物品变成true数组。 3)调用javascript .reverse()
方法反转数组。
我从来没有这样做过,所以我不确定它是否会起作用,但它可能会给你一些建议!
答
您可以在DOM中移动的元素很容易,通过之前或其它之后将它们插入元素。当您在jQuery实例中获取一组元素时(例如,使用$(...)
),您将获得一组静态的以文档顺序匹配的元素。因此,扭转他们在这一点上是刚通过匹配集循环和移动他们的事:
var list = $("selector_for_the_list");
var items = list.children();
var index;
for (index = items.length - 1; index >= 0; --index) {
list.append(items[index]);
}
能否请您显示您当前的HTML,你如何指望它结束了.... – ManseUK 2012-02-09 08:57:44
请把你的代码放在jsfiddle.net – Zakaria 2012-02-09 09:02:18