Javascript 带有锚元素的jQuery mailto

Javascript 带有锚元素的jQuery mailto,javascript,jquery,html,anchor,mailto,Javascript,Jquery,Html,Anchor,Mailto,我用我们在网上看到的无数例子来尝试这个。但我想没有一款是简单的,可以在所有IE 8及以上浏览器上使用 我试图用mailto链接打开Outlook窗口 <a href="#" name="emailLink" id="emailLink">Email</a> 当然,我是jQuery的新手。上述方法根本不起作用。它只是在浏览器中闪烁,但什么也没有打开。我想这是因为窗户的位置 有简单的解决办法吗?我希望它能在IE8及以上版本和所有浏览器中运行 主体在JSP中自动生成 $(fu

我用我们在网上看到的无数例子来尝试这个。但我想没有一款是简单的,可以在所有IE 8及以上浏览器上使用

我试图用mailto链接打开Outlook窗口

<a href="#" name="emailLink" id="emailLink">Email</a>
当然,我是jQuery的新手。上述方法根本不起作用。它只是在浏览器中闪烁,但什么也没有打开。我想这是因为窗户的位置

有简单的解决办法吗?我希望它能在IE8及以上版本和所有浏览器中运行

主体在JSP中自动生成

$(function () {
  $('[name=emailLink]').click(function () {
    var email = 'test@theearth.com';
    var subject = 'Circle Around';
    var emailBody = 'Some blah';
    $(this).attr('href', 'mailto:' + email +
           '?subject=' + subject + '&body=' +   emailBody);
  });
});
.单击可替换为.mousedown等。。或者只是

$(function () {
  $('[name=emailLink]').each(function() {
    var email = 'test@theearth.com';
    var subject = 'Circle Around';
    var emailBody = 'Some blah';
    $(this).attr('href', 'mailto:' + email +
           '?subject=' + subject + '&body=' +   emailBody);
  });
});

您的选择器正在查找ID

$('#emailLink')
但您只指定了名称


将id=emaillink添加到锚定标记。

您根本不需要任何javascript/jQuery,只需以下HTML即可:

<a href="mailto:test@theearth.com?subject=Circle Around&body=Some blah" name="emailLink">Email</a>

以下是可行的解决方案:

<a href="#" name="emailLink" id="emailLink">Email</a>

如果您不需要该地址作为网站上任何地方的文本,我建议您:

$('a[data-mail]').on('click', function() {
   window.location = 'mailto:' + $(this).data('mail')+'@yourdomain.net' + '?subject=Spotflow';
});
链接将如下所示:

<a href="#" data-mail="max">Send me a mail</a>

机器人没有机会

href拼写错误。您还可以选择“按id”,但标记没有idemailLink means id=emailLink。在您的情况下,它将是[name=emailLink],您还需要在“单击”之后和函数之前加一个逗号这里有一个脚本@KevinRave的工作版本,您可以使用event.preventDefault;在你的职责范围内。例如,我甚至不会在这里进行点击活动。刚开始load@LoganMurphy谁知道他为什么要在我的网站上这样做呢?我最初会对电子邮件进行加扰,在页面加载后恢复邮件,并仅在单击时替换HREF。@LoganMurphy你能更新/详细说明吗?我的要求很简单。单击锚链接并使用jqeury发送电子邮件。就这些。@KevinRave你试过上面的代码了吗?或者您可以只设置href onload,而不附加click listener。@KevinRave这是$function{替换$document.ready函数-当DOM准备就绪时,通过该函数链接。每个链接都将获得正确的href属性。不需要在窗口加载时执行此操作,DOM准备就绪就足够了。我知道如何将其直接放入href。我需要使用jQuery。谢谢!OP注意到他需要jQuery。更新了我的帖子。它的拼写错误。这应该是正确的一个评论而不是一个答案!:-为什么?它回答了你的问题为什么这个不起作用?我怎么知道你有打字错误。基于这个问题。就像其他人评论出来的一样。请检查其他人的评论。即使是你输入的方式,它也不起作用。你不需要在电子邮件中转义特殊字符吗,主题还有emailBody?如果我想发短信给Bob和Alice是朋友,给john+doe发电子邮件怎么办@艺龙.中国?
$('a[data-mail]').on('click', function() {
   window.location = 'mailto:' + $(this).data('mail')+'@yourdomain.net' + '?subject=Spotflow';
});
<a href="#" data-mail="max">Send me a mail</a>