2009-07-13 3 views
1

하나의 열이 전자 메일 주소 인 HTML 테이블이 있습니다. 스팸 봇 문제를 제쳐두고이 열의 각 <td> 요소를 mailto : 링크로 변환하고 싶습니다.jQuery를 사용하여 텍스트를 전자 메일 링크로 변환하는 방법

$("table.data tbody tr td:last").each(function() { 
    var email = $(this).val(); 
    $(this).html('<a href="mailto:' + email + '">' + email + '</a>'); 
}); 

을 그리고 이것은 테이블 (샘플)입니다 : 여기

내가있어 무엇

<tr> 
    <td>Joe</td> 
    <td>Shmoe</td> 
    <td>[email protected]</td> 
</tr> 

뭐가 잘못이야?

답변

2

귀하의 JQuery와 선택이 잘못된 것입니다.

'table.data tbody tr td : last'을 수행하면 마지막 행의 마지막 셀만 선택됩니다.

당신이해야 할 것은 같은 :

$(document).ready(
    function() 
    { 
     //For each row... 
     $('table.data tbody tr').each(
      function() 
      { 
       //...find the last cell. 
       var lastCell = $(this).find('td:last'); 
       $(lastCell).html('<a href="mailto:' + $(lastCell).text() + '">' + $(lastCell).text() + '</a>'); 
      } 
     ); 
    } 
); 

근무 데모 : http://jsbin.com/umiza 코드 : 완벽 http://jsbin.com/umiza/edit

+0

을 일했다! +1 – peehskcalba

1

당신은 는 .text를 사용해야합니다() 대신 의 .val() :

$("table.data tbody tr td:last").each(function() { 
    var email = $(this).text(); 
    $(this).html('<a href="mailto:' + email + '">' + email + '</a>'); 
}); 
관련 문제