如何在document.ready
中调用此排序功能?
$('div').sort(function (a, b) {
var contentA =parseInt( $(a).attr('data-sort'));
var contentB =parseInt( $(b).attr('data-sort'));
return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
})
我试过这样,但它不起作用
$(document).ready(function () {
$('div').sort(function (a, b) {
var contentA = parseInt($(a).attr('data-sort'));
var contentB = parseInt($(b).attr('data-sort'));
return (contentA > contentB) ? -1 : (contentA < contentB) ? 1 : 0;
})
});
答案 0 :(得分:0)
将其粘贴在$(document).ready(function() { ... });
e.g。
$(document).ready(function() {
$('div').sort(function (a, b) {
var contentA =parseInt( $(a).attr('data-sort'));
var contentB =parseInt( $(b).attr('data-sort'));
return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
});
});
答案 1 :(得分:0)
$( document ).ready(function() {
// your document is ready
sortyourcoolstuff();
});
并且,正如C-Link尼泊尔所说,使用三元运算符是错误的。
return (contentA < contentB) ? 1 : 0;
如果b>a
,则会返回1,else
0.根据您自己的背景更改它。
答案 2 :(得分:0)
应该是这样的:
$(document).ready(function(){
$('div').sort(function (a, b) {
var contentA = a.getAttribute('data-sort'));
var contentB = b.getAttribute('data-sort'));
if(contentA > contentB ) {
return 1;
}
if(contentA < contentB ) {
return -1;
}
return 0;
});
});
答案 3 :(得分:0)
如果您的意思是扩展Jquery原型,则需要在代码之前添加以下内容:
jQuery.fn.extend({
sort: function(a, b){
var contentA =parseInt( $(a).attr('data-sort'));
var contentB =parseInt( $(b).attr('data-sort'));
return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0;
}
});