-
Jquery 특정 요소를 포함하고 있는지 확인하기 (if문)IT, 프로그래밍/Javascript 2018. 8. 12. 16:50
Jquery를 사용하다보면 특정 요소가 포함되어 있는지 확인해야 할 경우가 있다.
나의 경우에는 대댓글 기능을 만드는 중에 필요했는데,
여기에 보이는 reply 버튼을 클릭하면 댓글을 쓸수있는 Post Area가 나타나고,
만약 이미 Post Area가 열린 상태에서 reply 버튼을 클릭하면 없어지게 하는 일종의 토글 기능이 필요했다.
내가 생각할 때 현재 댓글 한 로우를 표현하는 최상위 div 태그를 들고와서, find 메소드를 통해 하위 자식 요소에 Post Area가 존재하면 remove 시켜주고, 없으면 append 시켜주는 동적인 기능이 필요했는데,
여기에서 문제는 Post Area가 현재 하위 자식 노드로 포함되어 있는지 없는지를 판단하는 조건식을 만드는 것이었다.
그래서 열심히 구글링 해서 알아낸 결과는 아래와 같다.
1) 일반적인 자바 스크립트에서 사용
12345if( document.getElementById("ID") ){.......}cs 2) Jquery에서 사용
12345if($('#ID').length){.......}cs length를 사용하면 해당 되는 노드가 존재하는 개수를 리턴한다.
만약 토글 기능처럼 사용하고 싶다면,
123456789if($instance.find("#replyPost").length){$instance.find("#replyPost").remove();}else{$instance.append($replyPostArea);};cs 이런식으로 사용하면 된다.
'IT, 프로그래밍 > Javascript' 카테고리의 다른 글
Jquery deep copy 메소드 (0) 2018.11.29 Jquery DOM clone (0) 2018.11.07 Jquery 이벤트 요소 가지고 있는지 확인 (0) 2018.11.07 img 태그에서 경로 뽑아내기 (0) 2018.08.10 좌표 최단거리 검색 (0) 2018.08.03