我正在尝试使用JQuery将mailto链接添加到数据库结果列表中找到的静态电子邮件地址。我可以在网上找到以下摘录,该摘录适用于第一个结果,但不适用于第一个结果之后的任何电子邮件地址。

我很好奇这是为什么..以及如何才能将mailto:属性应用于结果中找到的每个电子邮件地址。 :-)

当前代码:

<script type="text/javascript">
$(document).ready(function(){
    var regEx = /(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)/;
    $("table td").filter(function() {
        return $(this).html().match(regEx);
    }).each(function() {
        $(this).html($(this).html().replace(regEx, "<a href=\"mailto:$1\">$1</a>"));
    });
});




谢谢!

最佳答案

我不知道为什么它只能在第一个比赛中起作用,但是您可以将代码改进为:

$(document).ready(function() {
    var regEx = /(\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)/;
    $("table td").filter(function() {
        return this.innerHTML.match(regEx);
    }).html(function(index, old) {
        return old.replace(regEx, "<a href=\"mailto:$1\">$1</a>");
    });
});​

关于jquery - 使用JQuery将mailto链接添加到静态电子邮件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10678756/

10-17 02:54