锚标记未按预期工作

时间:2017-03-16 09:32:12

标签: javascript html

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

我的代码

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
},

2 个答案:

答案 0 :(得分:1)

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);




答案 1 :(得分:1)

原因是当转换为字符串时锚标记将输出href的值。据推测,因为这是元素中有价值的信息。

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

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

请记住,您通过URL查询字符串发送数据,因此无法完整地发送元素。为了工作,它必须被强制转换为字符串,javascript被松散地键入,自动执行此操作。

如果您需要文本,则需要使用与

设置的属性相同的属性
aTag.innerText