jQuery: 엘리먼트의 존재여부 체크하기

jQuery에서 특정 엘리먼트의 존재를 체크하기 위해서 먼저 다음 코드를 생각해 볼 수 있다.

if ($("myDiv")) {
    // 존재하는 경우의 코드는 여기에
}

하지만 위 코드는 원하는 대로 동작하지 않는다. 왜냐하면 jQuery의 셀렉터는 항상 객체를 반환하기 때문에 언제나 참으로 동작을 하게 된다. 엘리먼트가 존재하지 않은 경우에도 빈 객체를 반환하기 때문에 위 코드로는 존재 여부를 체크할 수 없고, 다음의 코드를 사용해야 한다.

if ($("myDiv").length > 0) {

   // 존재하는 경우의 코드는 여기에

}

length 특성을 사용하면 엘리먼트가 존재하지 않은 경우 0을 반환하기 때문에 존재여부를 제대로 체크할 수 있다.

No related posts.