是否可以给 href="mailto:" 数据绑定的值:文本?

Posted

技术标签:

【中文标题】是否可以给 href="mailto:" 数据绑定的值:文本?【英文标题】:Is it possible give an href="mailto:" the value of a data-bind: text? 【发布时间】:2021-06-12 20:21:45 【问题描述】:

我正在尝试将 data-bind: text 函数的值赋予 href="mailto:" 但似乎无法正确处理。

到目前为止我的代码:

html

<a href="#" class="mailCloseBranch" data-bind="text: closestBranch().email">someEmailFromDataBind.com
</a>

替换href的值:

$("a.mailCloseBranch[href$='#']").each(function() 
  var ref = document.getElementsByClassName('mailCloseBranch')[0].value;
  var mailref = 'mailto:' + String(ref);

  this.href = this.href.replace("#", mailref);
);

var mailref 中的 'mailto:' 字符串被插入,并且正确的电子邮件显示在

&lt;a&gt;元素

var ref 的值未定义,这反过来导致没有指向“mailto”的链接。

【问题讨论】:

这都是客户端代码吗?你能制作一个可运行的 sn-p 或 jsfiddle 吗?这个问题几乎是同一个问题吗? ***.com/questions/15778250/… 你能 console.log console.log document.getElementsByClassName('mailCloseBranch')[0].value 吗? 谢谢。链接的问题正是我想要的!我正在将带有任务管理器的 sn-ps 插入现有的客户端网站。您可以将您的评论作为答案发布,以便我投票并关闭此问题吗? 超链接没有值属性,所以document.getElementsByClassName('mailCloseBranch')[0].value 看起来很奇怪? 【参考方案1】:

也许这些可能会提供一些见解?

在绑定函数中,您可以使用this 直接访问超链接,从而访问它的属性,而不是使用document.getElementsByClassName('mailCloseBranch')[0].value(这是错误的)或document.getElementsByClassName('mailCloseBranch')[0].textContent

// using the LINK TEXT to form part of the new href
$("a.mailCloseBranch[href$='#']").each( function() 
    this.href = this.href.replace("#", 'mailto:' + String( this.textContent ) );
);

// using the DATA.BIND attribute value to form part of the new href
$("a.mailCloseBranch-2[href$='#']").each( function() 
    this.href = this.href.replace("#", 'mailto:' + String( this.dataset.bind.replace('text:','') ) );
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<a href="#" class="mailCloseBranch" data-bind="text:closestBranch().email">someEmailTextcontent.com</a> |


<a href="#" class="mailCloseBranch-2" data-bind="text:closestBranch().email">emailfromDataBind.com</a>

【讨论】:

【参考方案2】:

我的问题的解决方案:

data binding email into mailto link json

jqueryHtmlCSS发布

【讨论】:

以上是关于是否可以给 href="mailto:" 数据绑定的值:文本?的主要内容,如果未能解决你的问题,请参考以下文章

使用 CSS 样式化电子邮件链接 / href="mailto:"

a标签mailto

a标签mailto

如果不了解“PHP编码”,您会建议使用“mailto”方式吗? [关闭]

是否可以在 MAILTO 链接的正文中添加 HTML 链接 [重复]

编码mailto:链接