$('th',$table).each(function( column ){}这些参数的意思?这是对表格进行排序的一个jquery,如下:{ var $sortOrder = 0; //排序类型 1表示升序,0表示降序var $table = $('table#shop');$('th',$table).each(function( column ){

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 15:02:44

$('th',$table).each(function( column ){}这些参数的意思?这是对表格进行排序的一个jquery,如下:{ var $sortOrder = 0; //排序类型 1表示升序,0表示降序var $table = $('table#shop');$('th',$table).each(function( column ){
$('th',$table).each(function( column ){}这些参数的意思?
这是对表格进行排序的一个jquery,
如下:
{
var $sortOrder = 0; //排序类型 1表示升序,0表示降序
var $table = $('table#shop');
$('th',$table).each(function( column )
{
//处理三种有可能存在的排序字段,比较方法
var findSortKey;
if( $(this).is('.sort-title') || $(this).is('.sort-author') )
{
findSortKey = function( $cell )
{
return $cell.find('.sort-title').text().toUpperCase()+ '' +$cell.text().toUpperCase();
}
}
else if( $(this).is('.sort-date') )
{
findSortKey = function( $cell )
{
return Date.parse('1' + $cell.text());
}
}
else if( $(this).is('.sort-price') )
{
findSortKey = function( $cell )
{
var key = parseFloat($cell.text().replace(/^[^\d.]*/,''))
return isNaN(key) 0 :key;
}
}
//排序
if( findSortKey )
{
$(this).addClass('clickable').hover(function()
{
$(this).addClass('hover');
var $title = $sortOrder == 0 '升序' :'降序';
$(this).attr('title','按'+ $(this).html() + $title +'排列');
},function()
{
$(this).removeClass('hover');
}).click(function()
{
$sortOrder = $sortOrder == 0 1 :0;
var rows = $table.find('tbody > tr').get();
$.each( rows,function( index,row )
{
row.sortKey = findSortKey($(row).children('td').eq(column));
});
//排序方法
rows.sort(function( a,b )
{
if( $sortOrder == 1 )
{
//升序
if(a.sortKey < b.sortKey) return -1;
if(a.sortKey > b.sortKey) return 1;
return 0;
}
else
{
//降序
if(a.sortKey < b.sortKey) return 1;
if(a.sortKey > b.sortKey) return -1;
return 0;
}
});
//排序后的对象添加给$table
$.each( rows,function( index,row )
{
$table.children('tbody').append(row);
row.sortKey = null;
});
$table.find('td').removeClass('sorted')
.filter(':nth-child('+ (column + 1) +')').addClass('sorted');
//重新赋予奇偶行的样式
$table.alterRowColors();
});
}
});
});

$('th',$table).each(function( column ){}这些参数的意思?这是对表格进行排序的一个jquery,如下:{ var $sortOrder = 0; //排序类型 1表示升序,0表示降序var $table = $('table#shop');$('th',$table).each(function( column ){
$(document).ready(function() -->载入时执行function()
// $('table.sortable').each(function() -->对每个class="sortble"的table执行function()
// var $table = $(this); -->创建一个jquery对象的$table,并分别用$(this)也就是上面的每个class="sortble"的table给 这个$table赋值
后面应该有后续操作