2011-09-19 9 views
2

코드에 class = "red"가있는 태그가 있는지 확인하려고합니다. 나는 이것이 효과가있을 것이라고 생각했지만 그렇지 않다. 어떻게하면 좋을까요?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

은 0이 falsey 값 때문에이 작동

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

필요; if 표현식에서 red 클래스의 태그가 발견되지 않으면 length는 0이되고 따라서 if 블록은 입력되지 않습니다. 그러나 length가 0보다 큰 값을 가지면 (truey 값), if 블록이 입력됩니다.

논리 라운드 길을 잘못 때문에 원래 코드가 작동하지 않습니다 :)

+0

감사 (당신은 빨간색 클래스와 태그가없는 경우 경고를 표시 할 수 있습니다)! 아주 간단하고 명확한 대답. – Joseph

+1

@Joseph - 생각하기에 좋은 점은 이러한 "진실/거짓"검사를하는 것이 항상 최선의 방법은 아니며 대신 코드 명료성을 위해 명시 적으로 같음/같지 않음을 사용해야합니다. 길이 (length) == 0' 또는'$ ('. red'). 길이> 0' –

+0

@ 아담 - 잘 부름! –