2010-01-23 12 views
0

"mylink"를 클릭하면 링크가 부모 태그에서 추출 된 숫자 "123"으로 바뀝니다. 나는 바로 ".match을 (...."안할거야 생각jQuery의 부모 속성에서 숫자 추출

jQuery를 :.

$(document).ready(function(){ 
    $(".link").click(function(){ 
    var comid = $(this).parents("div.comment").attr("class").match(/comment-([0-9]+)/)[1]; 
    $(".link").replaceWith(comid); 
    }); 
}); 

HTML : 당신이 필요로하는, 그래서 당신은 단지 하나의 일치가

<div class="comment comment-123 ct"> 
    <div class="link">mylink</div> 
</div> 
+0

왜 그렇게 생각하십니까? – Guffa

+0

어떻게 될까요? –

+0

링크를 클릭 할 때마다 오류가있는 것처럼 아무것도하지 않습니다. – timofey

답변

0

0 번째 일치 (0부터 시작하는 배열)를 사용하고 전체 일치를 반환하므로 숫자 만 원할 경우 comment- 텍스트를 제거해야합니다.

$(document).ready(function(){ 
    $(".link").click(function(){ 
    var comid = $(this).parents("div.comment") 
         .attr("class") 
         .match(/comment-[0-9]+/)[0] 
         .replace('comment-',''); 
    $(".link").replaceWith(comid); 
    }); 
}); 

일치가 발생하지 않을 가능성이있는 경우 일치하는 항목을 변수에 할당하고 일치가 발생하면 (변수가 null이 아닌 경우에만) 대체를 수행하려고합니다.

+0

네, 그렇습니다. 저는 drupal에서 일하고 있었기 때문에 괄호를 다시 써야했습니다. .replace ('comment-', ''); .replace ("comment-", "");이어야합니다. 감사합니다 – timofey

+0

둘 다에 대해 작은 따옴표를 사용했지만 큰 따옴표도 사용합니다. – tvanfosson

관련 문제