我正在使用jQuery 1.6,我想改进以下代码(即写少做多):
if (row.hasClass('line_odd')) {
row.removeClass('line_odd');
row.addClass('line_even');
} else {
row.removeClass('line_even');
row.addClass('line_odd');
}
我该怎么做?
答案 0 :(得分:3)
将块替换为:
var hasOdd = row.hasClass('line_odd');
row.toggleClass('line_odd', !hasOdd).toggleClass('line_even', hasOdd);
答案 1 :(得分:2)
我建议使用像http://api.jquery.com/toggleClass/之类的东西,例如:
row.toggleClass("line_odd")
.toggleClass("line_even");
这假设没有行元素最初会设置line_odd
和line_even
类,以使其与代码具有相同的效果。
答案 2 :(得分:1)
尝试以下
var isOdd = row.hasClass('line_odd');
row.toggleClass('line_odd', !isOdd);
row.toggleClass('line_even', isOdd);
答案 3 :(得分:1)
假设行以两个类中的一个开始:
row.toggleClass("line_odd line_even")
应该这样做。
答案 4 :(得分:0)
你可以使用链接
if (row.hasClass('line_odd')) {
row.removeClass('line_odd').addClass('line_even');
} else {
row.removeClass('line_even').addClass('line_odd');
}
答案 5 :(得分:0)
row.toggleClass('line_odd', row.hasClass('line_odd') ).toggleClass('line_even',
row.hasClass('line_odd') );
这是缩减版本,它使用.toggleClass以及第二个参数,当true添加类时,如果为false则删除类。