【问题标题】:Add mailto: with jQuery?添加mailto:使用jQuery?
【发布时间】:2012-04-07 02:01:24
【问题描述】:
<table id="here" border="1">
    <tr><td>London</td><td>london@us.uk</td><td>aaa</td><td>aaa</td></tr>
    <tr><td>Manchester</td><td>manchester@us.uk</td><td>aaa</td><td>aaa</td></tr>
    <tr><td>Liverpool</td><td>liverpool@us.uk</td><td>aaa</td><td>aaa</td></tr>
    <tr><td>Ipswich</td><td>ipswich@us.uk</td><td>aaa</td><td>aaa</td></tr>
</table>

是否可以添加链接 mailto: 对于带有 jQ​​uery 电子邮件地址的第二列(不修改 HTML)?如果是,怎么做?

http://jsfiddle.net/zwsMD/1/

【问题讨论】:

    标签: javascript jquery html email


    【解决方案1】:

    您可以将每秒 td 的内容替换为 a 元素和 mailto: href: http://jsfiddle.net/zwsMD/5/

    ​$("#here td:nth-child(2)").each(function() {
        var email = $(this).text();
    
        // replace contents
        $(this).html(
            $("<a>").attr("href", "mailto:" + email).text(email)
        );
    });​​​​​​​​​​​​​​​​​​​​
    

    【讨论】:

      【解决方案2】:

      假设它始终是每行的第二个 td,您可以在 wrapa 元素中迭代这些元素和 contents

      $("#here td:nth-child(2)").each(function() {
          $(this).contents().wrap("<a href='mailto:" + $(this).text() + "'>");
      });​
      

      这是working example

      【讨论】:

        【解决方案3】:

        您需要遍历每一行,找到所需的单元格并在内容周围添加一个链接。您可以为此使用wrapInner

        $("#here tr").each(function() {
            var td = $(this).children().eq(1);
            var email = "mailto:" + td.text();
            td.wrapInner($("<a>").prop("href", email));
        });​
        

        Live example

        【讨论】:

          【解决方案4】:

          你可以这样做

          ​$('td:nth-child(2)').each(function(){
             var text = $(this).text();
              var href = "mailto:"+text;
              var $a = $('<a>', { href: href, text: text});
              $(this).text('').append($a);
          });​​​​​​​​​​​​​​​​​​​​
          

          在这里摆弄http://jsfiddle.net/zwsMD/6/

          【讨论】:

          • @pimvdb 是的,当然,我添加了 var 这是一个愚蠢的错误! :)
          猜你喜欢
          • 1970-01-01
          • 2012-12-29
          • 1970-01-01
          • 2016-08-20
          • 2019-01-08
          • 2021-04-08
          • 2011-04-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多