是否可以给 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:' 字符串被插入,并且正确的电子邮件显示在
<a>
元素
但 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:"
如果不了解“PHP编码”,您会建议使用“mailto”方式吗? [关闭]