【发布时间】:2014-09-12 12:38:31
【问题描述】:
我已经在 javascript/jquery 中按字母顺序对列表标签进行了排序,当我第二次单击时它会起作用。我的意思是第一次点击它工作几秒钟(不到一秒)然后回到未排序但第二次点击后它工作正常。
我的排序功能是
function status() {
var mylist = $('ul');
var listitems = mylist.children('li').get();
listitems.sort(function (a, b) {
var compA = $(a).find('.Status-For-Sorting').text().toUpperCase();
var compB = $(b).find('.Status-For-Sorting').text().toUpperCase();
return (compA < compB) ? -1 : (compA > compB) ? 1 : 0;
});
$.each(listitems, function (idx, itm) {
mylist.append(itm);
});
}
我在 deviceready 中定义了该功能,例如
document.addEventListener("deviceready", init, false);
function init() {
$().ready(function () {
$("#sort-button-status").click(status);
}
}
*****HTML****
<a value="sort" id="sort-button-status" class="sort-button-status">status</a>
告诉我哪里错了,这段代码是根据状态正确排序的,但是在第二次点击之后..
【问题讨论】:
-
使用
$(document).ready(function(){ ... })(或快捷方式$(function(){ ... }))而不是$().ready(function(){ ... }),您似乎混合了in the jQuery docs列出的两个选项。
标签: javascript jquery sorting