我正在尝试将箭头添加到表格中的可排序列中。
第一次它运行良好,然后它加倍了类。
headerUnSort - > headerSortDown - > headerSortUp - > headerUnSort headerSortDown
任何人都知道为什么会这样吗? (出于某些加重的原因,我还必须删除'标题'类。)
$(this).removeClass('header');
if (this.className == 'headerUnSort')
{
$(this).removeClass();
this.className = 'headerSortDown';
}
else if (this.className == 'headerSortDown')
{
$(this).removeClass();
this.className = 'headerSortUp';
}
else if (this.className == 'headerSortUp')
{
$(this).removeClass();
this.className = 'headerUnSort';
}
答案 0 :(得分:1)
如果没有更多的背景,很难说,但我不认为代码完全按照您的想法行事。试试这个:
var $this = $(this);
$this.removeClass('header');
if ($this.hasClass('headerUnSort')) {
$this.removeClass('headerUnSort');
$this.addClass('headerSortDown');
} else if ($this.hasClass('headerSortDown')) {
$this.removeClass('headerSortDown');
$this.addClass('headerSortUp');
} else if ($this.hasClass('headerSortUp')) {
$this.removeClass('headerSortUp');
$this.addClass('headerUnSort');
}
或者,这应该快得多:
var $this = $(this);
$this.removeClass('header');
if ($this.hasClass('headerUnSort')) {
this.className = 'headerSortDown';
} else if ($this.hasClass('headerSortDown')) {
this.className = 'headerSortUp';
} else if ($this.hasClass('headerSortUp')) {
this.className = 'headerUnSort';
}