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

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

망고프리 2년 전 조회 1,871

안녕하세요.

아래와 같은 문장이 있으면 

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

 

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

어떻게 수정해야 되나요?

commentNo:'12345'

objectId:'55555_10'

 

감사합니다.

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

답변 4개

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

</p>

<p><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">u_cbox_btn_recomm</a></p>

<p> </p>

<p><script src="<a href="http://code.jquery.com/jquery-latest.min.js"></script>" target="_blank" rel="noopener noreferrer">http://code.jquery.com/jquery-latest.min.js"></script></a>

<script>

$(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 + '}';</p>

<p> </p>

<p>    var series_obj = JSON.parse(series_items);

    console.log(series_obj);

    alert(series_obj.commentNo);

    alert(series_obj.objectId);

});

</script></p>

<p>

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

답변에 대한 댓글 1개

망고프리
2년 전
안녕하세요.
잘 작동하네요
감사합니다.

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

2년 전

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

  

$(document).on('click', '.u_cbox_btn_recomm', function() {     param = $(this).data('param');         tmp = param.split(',');     data = [];     for(i=0; i

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

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

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

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

A
2년 전
</pre>

<pre>
<code>$(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);
});
</code>
로그인 후 평가할 수 있습니다

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

2년 전

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

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

    var d = JSON.parse(param);

    

    alert(d.commentNo);

    alert(d.objectId);

});

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

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

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

로그인