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

제이쿼리 질문드립니다. 채택완료

소환사의협곡 4년 전 조회 2,376

$(".sp_subject.sp_s1, .sp_i1").click(function(){

$(".sp_ctt_wrap.sp_c1").slideToggle();

})

 

 

질문과 답변이 토글형식으로 되어있는데요,

.sp_s1 ~ .sp_s10 

.sp_i1 ~ .sp_i10

.sp_c1 ~ .sp_c10

이렇게 클래스가 각각 10개씩 있습니다.

하나씩 명령을 주자니 코드가 너무 길어지더라구요..

혹시 클래스에 있는 숫자만 바꿀 수가 있을까요? 

 

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

답변 2개

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

정확한 상황을 몰라서 예시로만 참고해 보시기 바랍니다.

원리만 이해하시면 간단히 해결 가능하세요.

 

사실, jQuery에는 map, each 등 더 간단하게 처리할 수 있는 함수를 제공하고 있습니다.

아래 반복문을 보시고, jQuery 방식으로 변경해 보셔도 좋을 것 같습니다.

 

</p>

<p>// 1 ~ 10까지 반복문으로 처리</p>

<p>for (let i = 1; i <= 10; i++) {</p>

<p>   $('.sp_subject.sp_s' + i).click(function() {</p>

<p>      $('.sp_ctt_wrap.sp_c' + i).slideToggle();</p>

<p>   })</p>

<p>}</p>

<p>

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

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

exception
4년 전

태그에 onclick으로 함수를 호출하면서 인자를 넘기시면

$this로 해결될거같네요

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

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

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

로그인