我这里有这个javascript
if (stepNumber < $steps.length) {
$($steps[stepNumber + 1]).addClass('--active');
}
但是,如果--complete已经在其上,我不想要添加课程。
有人能指出我正确的方向吗?我以为它会是if (!.--complete)
或类似的东西?
答案 0 :(得分:4)
您可以使用#hasClass()
if (stepNumber < $steps.length) {
var $step = $($steps[stepNumber + 1]);
if (!$step.hasClass('--complete')) {
$step.addClass('--active');
}
}
答案 1 :(得分:1)
我怀疑你做的事情后来会后悔。您正在使用您的UI装饰作为参考数据源,如果您继续这种做法,这可能会在以后使您的UI与数据同步时变得一团糟。
我建议您使用数据源来跟踪控件的经验状态,以确定是完整还是活动,并始终从数据中提取控件集更新。该数据集可以是本地的或远程的。
当您需要在将来进行修改时,将其分开可确保编码接触点数量有限。此外,如果您将所有UI更新抽象为一个始终位于数据和显示之间的功能,并且根据数据更改自行负责更新显示,那么您只需要一个地方可以在需要时返回添加第三或第四课。