为什么这个链接不起作用?

时间:2014-07-29 09:51:10

标签: javascript

我希望向访问者提供电子邮件联系,而不会轻易成为地址收集器垃圾邮件的牺牲品。我现在的HTML是:

            <span id="email">Email</span>
            <script>
                var link = ('<' + 'a' + ' ' + 'h' + 'r' + 'e' + 'f' + '=' + 
                  '"' + 'm' + 'a' + 'i' + 'l' + 't' + 'o' + ':' + 'c' + 'j'
                  + 's' + 'h' + '@' + 'c' + 'j' + 's' + 'h' + '.' + 'n' +
                  'a' + 'm' + 'e' + '?' + 's' + 'u' + 'b' + 'j' + 'e' +
                  'c' + 't' + '=' + 'T' + 'o' + '+' + 't' + 'h' + 'e' + 'A'
                  + 'u' + 't' + 'h' + 'o' + 'r' + '>' + 'E' + 'm' + 'a' +
                  'i' + 'l' + '<' + '/' + 'a' + '>');
                console.log(link);
                document.getElementById('email').innerHTML = link;
            </script>

JavaScript控制台记录了正确的链接,但我尝试过的任何内容都不会通过链接填充电子邮件范围。我也(颤抖)尝试了document.write(),但是没有做任何事情。 JavaScript控制台上没有错误。

为什么这些方法都不起作用?

2 个答案:

答案 0 :(得分:2)

您的link变量显示为'<a href="mailto:cjsh@cjsh.name?subject=To+theAuthor>Email</a>',因此您似乎错过了一个右引号。

尝试

var link = ('<' + 'a' + ' ' + 'h' + 'r' + 'e' + 'f' + '=' + 
              '"' + 'm' + 'a' + 'i' + 'l' + 't' + 'o' + ':' + 'c' + 'j'
              + 's' + 'h' + '@' + 'c' + 'j' + 's' + 'h' + '.' + 'n' +
              'a' + 'm' + 'e' + '?' + 's' + 'u' + 'b' + 'j' + 'e' +
              'c' + 't' + '=' + 'T' + 'o' + '+' + 't' + 'h' + 'e' + 'A'
              + 'u' + 't' + 'h' + 'o' + 'r' + '">' + 'E' + 'm' + 'a' +
              'i' + 'l' + '<' + '/' + 'a' + '>');

答案 1 :(得分:0)

尝试关闭href字符串。您的结果html为<a href="mailto:cjsh@cjsh.name?subject=To+theAuthor>Email</a>