2011-09-19 31 views
2

我想看看是否有代碼中有類=「紅色」的任何標籤。我認爲這會起作用,但事實並非如此。我將如何做到這一點?檢查與jquery選擇器的數量

if ($("[class='red']").length <=0)   /*if some of the entries are invalid (aka- have a red star)*/ 
     { 
      alert('Some Entries are Invalid'); 
      return false; 
     } 

回答

2

只需要

if ($(".red").length) { 
    // have a least one tag with class red 
} 

這工作,因爲0是一個falsey值;在if表達式中,如果沒有找到具有紅色類別的標籤,則長度將爲0,因此if塊將不會被輸入。但是,如果length的值大於0(真值),則會輸入if塊。

您的原始代碼不起作用,因爲邏輯是南轅北轍(你會顯示警告,如果有沒有標籤與類紅色):)

+0

謝謝!一個非常簡單明確的答案。 – Joseph

+1

@Joseph - 食物的思考,做這些「truthy/falsey」檢查並不總是最好的做法,相反,你應該使用明確的等於/不等於代碼清晰度:'$('。red')。length!== 0'或只是'$('。red')。length> 0' –

+0

@亞當 - 良好的呼叫! –