2011-09-19 42 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

@亚当 - 良好的呼叫! –