제이쿼리 $.inArray 질문입니다. 채택완료
아기새
7년 전
조회 2,358
</p>
<p><span class="test" data-val="1"></span></p>
<p> </p>
<p> </p>
<p><script></p>
<p>$('.test').click(function () {</p>
<p> var data_value = $(this).attr('data-val'); // 1</p>
<p> var arr = [1,2,3];</p>
<p> </p>
<p> if ($.inArray(data_value, arr) != -1) {</p>
<p> alert('배열에 속해있음');</p>
<p> } else {</p>
<p> alert('no');</p>
<p> }</p>
<p> </p>
<p>});</p>
<p></script></p>
<p>
제이쿼리 inarray 이렇게 쓰는게 아닌가요??
attr로 값가져와서 하면 else 구문을 타고
var data_value = 1;
이렇게 주고하면 작동이 잘되는데..
뭐가 잘못된건지 모르겠습니다..
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
7년 전
data-value 는 "1" 문자열이고,
arr 의 각 요소 1, 2, 3 은 숫자형이라 그렇습니다.
var data_value = $(this).attr('data-val');
->
var data_value = parseInt($(this).attr('data-val'), 10);
으로 해주면 됩니다.
추가로 data-val 의 값은,
attr() 로 가져오는 것보다는 data() 로 가져오는 것이 더 좋습니다. https://www.broken-links.com/2010/11/18/data-attributes-in-html-and-jquery/
$(this).attr('data-val')
->
$(this).data('val')
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
아기새
7년 전
자세한 답변 감사합니다.. 좋은거 배우고갑니다..
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인