【发布时间】:2020-02-05 08:27:57
【问题描述】:
我不太喜欢在 wordpress 环境中使用 Jquery,但是唉...
我有这个脚本:
$('.woocommerce ul li').each(function(i)
{
var lenke = $(this).find("a").attr('href');
$(this).append(' <input type="button" class="sendTo" data-id="'+lenke+'" value="E-MAIL">');
});
$('.sendTo').on('click', function(e) {
var url = $(this).attr("data-id");
console.log(url);
var email = '';
var subject = 'MAIL from ME';
var emailBody = 'Click to Download ' + url +'.';
document.location = "mailto:"+email+"?subject="+subject+"&body="+emailBody;
})
第一个代码在 (div) 内 (ul)(li) 内的每个 A HREF 标记中添加一个 EMAIL 按钮。以及从现有的 A HREF 标记复制 HREF 并将其应用于按钮数据 ID。
第二个代码打开一个标准的电子邮件客户端窗口,并将 data-id 作为可点击的 url 添加到电子邮件正文中。
在一个普通的 HTML 页面(和 FIDDLE)下运行这个脚本,一切都像一个魅力。 问题是,在我的 wordpress 页面中运行它...... URL(变量)没有出现在电子邮件正文中。
所以 FIDDLE 中的正常输出是这样的:
CLICK TO OPEN: https://sitename.com/document/doc.pdf
Wordpress 输出如下所示:
CLICK TO OPEN:
我有没有提到我不喜欢在 Wordpress 中使用 jQuery?
问题仍然存在,如何将变量 (url) 编码为 wordpress Jquery 将作为文本发送的内容,然后将其转换为电子邮件正文中的可点击链接?
我们将不胜感激地接受所有和任何想法。
【问题讨论】:
-
试试
$(document).on('click','.sendTo', function(e) { -
你试过没有jQuery,例如。 document.querySelectorAll(".sendTo") ?无论哪种方式,代码看起来都不错,所以也许您的电子邮件客户端不允许将 URL 直接输入到正文中?
-
我认为@Roy 是正确的 - 由于您要附加 ,因此您需要首先定位不变的内容(文档、正文等),然后找到其中的元素。
-
您是否在控制台中获得了链接?
-
@Stender - 当我在 Fiddle 中运行代码时,一切正常。还有网址链接。只有当我通过 wordpress 运行它时它才不会