【问题标题】:Anchor Tag is not working as expected [duplicate]锚标记未按预期工作[重复]
【发布时间】:2017-08-07 09:23:10
【问题描述】:

我正在制作电子邮件正文。我在哪里给出一个应该显示“TEXT”的锚标签,但它显示的是 url。任何人都可以帮助我。

我的代码

MakeEmail : function(){
            var myObje = Ext.getCmp("MyObj");  // My Obj
        var Value = "3.14";
        var aTag = document.createElement("a");
            aTag.href = "https://www.w3schools.com";
            aTag.innerText  = "w3Schools";
        window.location.href = 'mailto:?subject=Search :'+myObje.id+'&body=Please check Value'+Value+aTag
},

【问题讨论】:

  • @Quentin 10 年前有人问过这个问题。我很确定现在有一些解决方案
  • 这并不意味着问题不是重复的,也没有什么能阻止人们为现有问题添加答案。 bounty 可用于吸引对旧问题的新关注。 (无论如何,没有解决方案。没有电子邮件客户端供应商认为值得支持 mailto:带有 HTML 正文的 URI)
  • 我可以有大量重复的问题吗?如果是,那么我将在 48 小时后提出这个问题。
  • 您可以对任何您喜欢的(开放式)问题提供奖励。 (虽然没有意义;你想要达到的目标仍然是不可能的)。
  • 因为它要求所有浏览器供应商和所有电子邮件客户端供应商共同 (a) 决定好人将胜过邪恶 (b) 同意一种方法 (c ) 认为这比他们想做的任何其他事情都更重要。

标签: javascript html


【解决方案1】:

原因是锚标记在转换为字符串时会输出href的值。大概是因为这是元素中有价值的信息。

如果您运行该代码并检查:

aTag.toString() // "https://www.w3schools.com/"

请记住,您正在通过 URL 查询字符串发送数据,因此无法完整发送元素。为了工作,它必须被转换为一个字符串,javascript 是松散类型的,会自动执行此操作。

如果你想要文本,你需要使用你设置它的相同属性

aTag.innerText

【讨论】:

  • 你能告诉我需要设置哪些属性吗?
  • 这在很大程度上取决于您到底要做什么。但是您应该首先查看突出显示的重复问题,因为它似乎可以回答您的问题。
  • 我正在尝试给出一个带有下划线的“文本”,然后单击该打开 URL。这不是重复的。我已经回答了
  • 我明白,我确保您的意图没有因为新信息的出现而改变。我正在阅读 IETF 标准文档,乍一看,这似乎没有改变,即使十年后也是如此。原因是安全性。
  • 好的。我只是对此感到好奇。我需要一些解决方案,因此我在这里努力。还想知道为什么这是一件简单的事情无法解决。
【解决方案2】:

aTag.innerText 会给出锚文本,

var aTag = document.createElement("a");
aTag.href = "https://www.w3schools.com";
aTag.innerText  = "w3Schools";
window.location.href = 'mailto:?subject=Search&body=Please check Value '+ encodeURIComponent(aTag.href)

console.log(aTag);
console.log(aTag.innerText); // this will give you anchor text
console.log(aTag.href);

【讨论】:

  • 它正在工作。但在我的电子邮件正文中,它没有出现。
  • 我认为下面的行应该是,window.location.href = 'mailto:?subject=Search :'+myObje.id+'&body=请检查Value'+Value+aTag 而是尝试如下, window.location.href = 'mailto:?subject=Search :'+myObje.id+'&body=请检查Value'+Value+aTag.innerText
  • 在这种情况下,它只显示文本“w3school”没有与链接的连接。 :(
  • @David 希望在电子邮件中有一个完全可操作的锚。
  • @Yoda 是的,这只是我的意图。没有任何理由说明它具有挑战性。在aTag.outerhtml 中还有一个简短的注释,我只收到"<a href="https://www.w3schools.com"></a>"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-27
  • 2015-12-20
  • 2018-08-26
相关资源
最近更新 更多