我的Javascript(用于在ul中重新排序li';s)在IE中不起作用

我的Javascript(用于在ul中重新排序li';s)在IE中不起作用,javascript,jquery,internet-explorer,sorting,Javascript,Jquery,Internet Explorer,Sorting,帮助,这是我的代码: <script> $(document).ready(function() { // Get your list items var items = $('ul.categories > li'); // The new index order for each item, first item is always numbered "0" var order = [4,2,3,0,1]; // Map the existing items to th

帮助,这是我的代码:

<script>
$(document).ready(function() {
// Get your list items
var items = $('ul.categories > li');

// The new index order for each item, first item is always numbered "0"
var order = [4,2,3,0,1];

// Map the existing items to their new positions        
var orderedItems = $.map(order, function(value) {
    return items.get(value);
});

// Clear the old list items and insert the newly ordered ones
$('ul.categories').empty().html(orderedItems);
});
</script>

$(文档).ready(函数(){
//获取您的列表项
风险值项目=$('ul.categories>li');
//每个项目的新索引顺序,第一个项目始终编号为“0”
风险值顺序=[4,2,3,0,1];
//将现有项目映射到其新位置
var orderedItems=$.map(顺序、函数(值){
返回项目。获取(值);
});
//清除旧列表项并插入新排序的项
$('ul.categories').empty().html(orderedItems);
});
这种重新排序在除IE之外的所有浏览器中都有效(IE会两次显示列表,因此我怀疑
.empty()
出于某种原因不起作用


非常感谢。

您不需要清空它

试一试


$('ul.categories').html(orderedItems);

无需在
html()
之前调用
empty()
,因为元素中的任何内容都被
html()
完全替换。请尝试
var$ul=$('ul.categories').empty();$。每个(orderedItems,函数(u,li){$ul append(li)})
在IE 9中我觉得很好