appendTo 질문

appendTo 질문

QA

appendTo 질문

본문

아래 코드처럼 appendTo을 이용해서 추가를할려고하는데 이상하게 두번씩 추가되네요..

뭐가 문제일까요..ㅜㅜ

1794489253_1524546526.0946.png

 

<div id="p_scents">
    <p>
        <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
    </p>
</div>
 
<script>
                $(function() {
        var scntDiv = $('#p_scents');
        var i = $('#p_scents p').size() + 1;
        
        $('#addScnt').live('click', function() {
                $('<p>'+ i +'<a id="remScnt">삭제</a></p>').appendTo(scntDiv);
                i++;
                return false;
        });
        
        $('#remScnt').live('click', function() { 
                if( i > 2 ) {
                        $(this).parents('p').remove();
                        i--;
                }
                return false;
        });
});
</script>
 

 

 

이 질문에 댓글 쓰기 :

답변 2

1. jQuery에서 .live()는 삭제되었습니다. .on()으로 대체하시는 것을 권장드립니다.

 

2. .size() 역시 삭제되었습니다. 되도록이면 .length로 대체하시는 것을 권장드립니다.

 

3. 엘리먼트의 id는 유니크값이어야 합니다. 작성하신 코드로 보아 #remScnt는 여러 개가 존재하게 되는데, 동일한 id를 가진 엘리먼트가 여러 개 존재하게 되면 스크립트가 정상적으로 작동하지 않을 가능성이 높습니다. class 등 다른 어트리뷰트를 사용하시는 것을 권장드립니다.

 

 

올려 주신 코드로 페이지 작성해서 테스트해보니 정상적으로 1개씩 추가됩니다. 올려 주신 부분에는 위에 제가 나열한 문제들 외에는 특별히 문제가 없습니다. 기재하지 않은 부분에 오류가 있지 않나 생각합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT