【问题标题】:How do I add odd/even class only for table rows which haven´t had odd/even class yet?如何仅为尚未具有奇/偶类的表行添加奇/偶类?
【发布时间】:2018-03-31 16:05:43
【问题描述】:
如何仅为尚未具有奇/偶类的表行添加奇/偶类?
(对于某些表我使用 PHP 循环函数)。
这是正确的吗?
$("table tbody tr td")
.parent("tr:nth-child(odd):not(.odd)")
.addClass("odd")
.end()
.parent("tr:nth-child(even):not(.even)")
.addClass("even");
【问题讨论】:
标签:
jquery
html-table
row
【解决方案1】:
如果已经定义了类,jQuery 将不会复制它。当然,您可以随时使用.hasClass() 进行检查,但在这种情况下没有必要。
试试:
$("table tbody tr:nth-child(odd)").addClass("odd");
$("table tbody tr:nth-child(even)").addClass("even");
[编辑]:从您的问题看来,一些,但不是全部,行已经添加了“奇数”或“偶数”类。最安全的方法是剥离所有类并使用 JS 将它们添加回来 - $("table tbody tr").removeClass("odd even")
【解决方案2】:
为什么不能如下使用?
$("table tbody tr:odd").addClass("odd");
$("table tbody tr:even").addClass("even");