我已经建立了这个示例代码,基于我在应用程序中的一个真正的问题.我有一个自定义排序过程来排序jQuery数组.容器包含具有特殊属性的项目列表.
排序:
>加载临时数组中的所有项目
>清除容器
>将temp数组排序成一个新的数组
>将已排序的项目追加到容器
不知何故,Firefox知道如何排序,但IE没有.有人可以告诉我什么工作不正常吗?
(您可以将html下面的HTML文件复制到一个空的.html文件中,它应该立即工作)
<html> <head> <script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script> <script type="text/javascript"> jQuery.fn.sort = function() { return this.pushStack( [].sort.apply( this,arguments ),[]); } function DoTheSort() { //Fetch elements in jQueryElement var sortableArray = $('#sortables').find('div.sortable'); //Clear the sortables container $('#sortables').empty(); //Sort the array var sortedArray = $(sortableArray).sort(sortProcedure); //Append sorted items jQuery.each(sortedArray,function() { alert($(this).attr("sortvalue")); $('#sortables').append(this); }); } function sortProcedure(a,b) { var value1 = parseInt($(a).attr("sortvalue")); var value2 = parseInt($(b).attr("sortvalue")); return value1 > value2; } </script> </head> <body> <a href="javascript:DoTheSort();">Sort</a> <div id="sortables"> <div class="sortable" sortvalue="5">5</div> <div class="sortable" sortvalue="1">1</div> <div class="sortable" sortvalue="4">4</div> <div class="sortable" sortvalue="1">1</div> <div class="sortable" sortvalue="2">2</div> <div class="sortable" sortvalue="9">9</div> <div class="sortable" sortvalue="3">3</div> </div> </body> </html>