使用jquery围绕文本包装HTML结构

使用jquery围绕文本包装HTML结构,jquery,Jquery,我试图将Achor标记动态包装到电子邮件id,我面临的问题如下是我的html代码: <tr> <td id='label'> email </td> <td> <div> abc@gmail.com </div> </td> </tr> 电子邮件 abc@gmail.com 我正在尝试的jquery代码正在将Achor标记包装到div: $("

我试图将Achor标记动态包装到电子邮件id,我面临的问题如下是我的html代码:

<tr>
  <td id='label'>
    email
  </td>
  <td>
    <div>
      abc@gmail.com
    </div>
  </td>
</tr>

电子邮件
abc@gmail.com
我正在尝试的jquery代码正在将Achor标记包装到div:

$("tr td#label:contains('email')").next().each(function(){ 

   $(this).wrapInner('<a href="mailto:'+$(this).text()+'">');

});
$(“tr td#label:contains('email')).next().each(function(){
$(this.wrapInner(“”);
});

i如何将Achor标记包装到电子邮件Id。我如何才能做到这一点?

首先修改标记以使用
class
而不是
Id

<tr>
  <td class='label'>
    email
  </td>
  <td>
    <div>
      abc@gmail.com
    </div>
  </td>
</tr>

电子邮件
abc@gmail.com
脚本:

$(".label:contains('email')").each(function(){
    var email = $(this).closest('td').next('td').find('div').text();
    $(this).html('<a href="mailto:'+email+'">email</a>');
});
$(“.label:包含('email'))。每个(函数(){
var email=$(this.nexist('td').next('td').find('div').text();
$(this.html(“”);
});

不应该是美元(“#label:contains('email')”)。下一步(“div”)。。ID应该是唯一的您的代码似乎工作正常,但Achor标记位于div上方。