[英]Add class to element that doesn't have class - jQuery
在下table
中,只有一個td
具有類,另一個不具有類似類:
<table id="bow-me">
<tr class="row-me">
<td class="show-me">Pet is Great</td>
<td>Pete is Greate</td>
</tr>
</table>
我嘗試了類似的東西:
if(!$("#bow-me tr td").hasClass("show-me")) {
$(this).addClass("know-me");
}
但這並沒有在我的第二個td
添加class
知識 。
如果我只想將Class添加到第二個td
,該怎么辦?
您的代碼不起作用的原因是
您的選擇器找到多個td
$("#bow-me tr td")
您不能將$(this)
用作if條件語句中的選擇器。 它沒有有效的參考。
解決方案:您可以通過each()
函數循環匹配的元素,然后設置條件以檢查找到的每個元素- $(this)
在這種情況下可以工作
$("#bow-me tr td").each(function() {
if(! $(this).hasClass("show-me")) {
$(this).addClass("know-me");
}
});
我給出了這個答案,以解釋您的方法為何行不通。 我更喜歡使用:not()
偽選擇器的安東方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.