테스트 사이트 - 개발 중인 베타 버전입니다

jquery 질문 드립니다. 채택완료

rlawhd 7년 전 조회 2,713

$(".contact").click(function()</p>

<p>{ $("contact").removeClass("active");</p>

<p>$(this).addClass("active");</p>

<p>

클릭하면 기존 active를 없애고 addClass로 클릭한놈을 active를 주게끔 했는데,

평소에는 잘됩니다.

 

근데 기존에 있는탭들 말고 새롭게 탭을 생성하면(class=contact는 동일)

$(this).addClass("active");</p>

<p>

이부분에서 새롭게 만들어진 탭은 인식을 못합니다.

처음에 click.function을 로드할때 없었기 때문에

$(this)로 못불러오는거 같은데

어떻게 처리하면 좋을까요?

 

$(this) 불러오기전에 한번 새로고침?을 해서 class유무를 파악해야 될거 같은데..

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
m
7년 전

동적으로 생성된 요소에 이벤트 할당

$(document).on("click",".contact", function(){
$(".contact").removeClass("active");
$(this).addClass("active");
});

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

r
rlawhd
7년 전
감사합니다~

댓글을 작성하려면 로그인이 필요합니다.

S
7년 전

$("contact").removeClass("active");

--> $(".contact").removeClass("active");

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인