我的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中我觉得很好