adsense4


[jQuery] HTML객체의 존재 유무 판단하기 자료

회사에서 jQuery를 사용하고 있는데,  객체의 존재 유무를 판단해서 처리 해야 하는 부분이 있어서 그냥 상식적으로 아래와 같이 해 봤다.

if ( $("#myid") ) {
      어쩌구저쩌구...
} else {
      없으면 어쩌구 저쩌구...
}

그런데 생각대로 동작하지 않는다. jQuery에서 객체의 접근은 $()이므로 존재하지 않는 객체라면 null을 돌려 주겠거니 생각했다. 너무 평범한 생각이었나...(jQuery 문서를 안 본 내탓이지만...-.-;)

불여우의 Firebug로 디버깅 해 봤더니 $("#myid")가 존재 하지 않는 경우도 내부적으로 jQuery객체를 생성하여 반환 해 주고 있다. 엥?
watch창에서 확인 해 보니 분명 객체가 생성되어 있다. 다만 선택자(selector)에 대응하는 객체의 갯수를 나타내는 length속성이 "0"다. 흠...이거군.

그래서 코드를 다음과 같이 수정했더니 원하는대로 결과를 얻을 수 있었다. 

if ( $("#myid").length > 0 ) {
      객체가 있으면 어쩌구저쩌구...
} else {
      없으면 어쩌구 저쩌구...
}


없는 HTML객체에 대해서도 데이터를 반환해 주는 것은 jQuery라이브러리의 특징 중의 하나가 아닐까 한다. 어쨌든 jQuery에서 객체의 존재 유무 판단은 length속성으로 하자.

흠...Firebug로 디버깅 해 볼 생각을 안했으면 종일 고생할 뻔 했다. ㅎㅎ




덧글

  • 도꾸리 2009/09/02 10:01 # 삭제

    글고보니...
    2개월에 한 번 만나자고 말은 했는데...
    다음 약속을 안 잡았네용...

    에휴...
    하테나님 또 쫄라야 할듯~~
    아자아자~~
※ 로그인 사용자만 덧글을 남길 수 있습니다.



 

통계 위젯 (화이트)

67
50
400459

160x600스크래퍼

네이버Analysis