2026, 새로운 도약을 시작합니다.

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

안녕하세요.

아래와 같은 문장이 있으면 

<a href="#" data-action="vote" data-param="mine:false,commentNo:'12345',voteStatus:'SYMPATHY',objectId:'55555_10',ticket:'comic'" data-log="RPC.sym#RPC.unsym" class="u_cbox_btn_recomm"></a>

jquery에서 data-param 안에 있는 아래 2개를 가져오고 싶은데 

어떻게 수정해야 되나요?

commentNo:'12345'

objectId:'55555_10'

<script>

$(document).on('click','.u_cbox_btn_recomm',function(e){
    var series_item        = $(this).val("data-param")[commentNo];

    alert(series_item);
});

</script>

감사합니다.

답변 4개

채택된 답변
+20 포인트
Copy


u_cbox_btn_recomm

 





$(document).on('click','.u_cbox_btn_recomm',function(e){

    // var series_item        = $(this).val("data-param")[commentNo];

    // alert(series_item);

    var series_items = $(this).data('param');

    series_items = series_items.replace(/([^,]+):/g, '"$1":');

    series_items = series_items.replace(/:'(.*?)'(,|$)/g, ':"$1"$2');

    series_items = '{' + series_items + '}';

 

    var series_obj = JSON.parse(series_items);

    console.log(series_obj);

    alert(series_obj.commentNo);

    alert(series_obj.objectId);

});



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

답변에 대한 댓글 1개

안녕하세요.
잘 작동하네요
감사합니다.

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

json형식이 아닌 일반 배열로 변형한 방법입니다

$(document).on('click', '.u_cbox_btn_recomm', function() {
    param = $(this).data('param');    
    tmp = param.split(',');
    data = [];
    for(i=0; i<tmp.length; i++){
      tmp2 = tmp[i].split(':');
      data[tmp2[0]] = tmp2[1];
      }


    alert(data['mine']);
    alert(data['commentNo']);

    alert(data['objectId']);
});

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

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

Copy



$(document).on('click', '.u_cbox_btn_recomm', function(e){
    var data_param = $(this).attr("data-param");
    var commentNo = data_param.match(/commentNo:'(.*?)'/)[1];
    var objectId = data_param.match(/objectId:'(.*?)'/)[1];
    
    alert(commentNo);
    alert(objectId);
});
로그인 후 평가할 수 있습니다

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

Copy
$(document).on('click', '.u_cbox_btn_recomm', function() {

    var param = $(this).data('param');

    var d = JSON.parse(param);

    

    alert(d.commentNo);

    alert(d.objectId);

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

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

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

로그인
🐛 버그신고