我正在使用jquery并尝试在表中选择该表行时添加一个类。
我最初使用以下代码 -
$(this).parents("tr").toggleClass("over", this.clicked);
出于某种原因,这在仅在已经分配了类的一些实例中不起作用。 在我对任何故障排除过于疯狂之前,我将其更改为以下内容 -
$(this).parents("tr").addClass("over", this.clicked);
这个新选项似乎运行正常。
我的问题是上面的一个选项是否比另一个更好.....我应该使用toggleClass而不是addClass,还是addClass足够?
感谢您的任何想法。
答案 0 :(得分:12)
addClass
就是这样,将类添加到元素中。
toggleClass
切换类,切换它,如果它在那里删除它,否则添加它,但可选地采用布尔值(true / false)来确定是否应该添加对象(true )或删除(假)。
toggleClass
为this.clicked
的情况下, false
可能不适合您,这是预期的行为。您在addClass
中传递的参数无效,因为它总是会添加该类。
结论:
使用toggleClass
切换课程,使用addClass
添加课程。
答案 1 :(得分:4)
如果addClass
对您有效,那么您应该坚持下去。这些方法用于不同的目的。 addClass
确保元素上存在特定的类,而toggleClass
如果不存在则添加类,如果是,则删除它。
查看API参考以获取每种方法的完整说明:
答案 2 :(得分:3)
没有必要将第二个参数传递给.addClass() - 它总是会添加该类。
如果这是你想要的行为,那就是正确的方法。
答案 3 :(得分:1)
真的取决于。如果你不打算删除课程,我会坚持使用addClass
。当然,toggleClass
允许您切换类。