Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用JS更改链接_Javascript_Jquery_Hyperlink - Fatal编程技术网

Javascript 使用JS更改链接

Javascript 使用JS更改链接,javascript,jquery,hyperlink,Javascript,Jquery,Hyperlink,我有一个脚本,我正在使用它将一个链接从常规链接更改为mailto链接。这个想法是,大多数糟糕的机器人不会解析javascript,因此比按原样放置电子邮件地址或按空格和拼写@符号要好一点 HTML应呈现为: 通过电子邮件联系我们的销售经理 “电子邮件”一词是指向电子邮件的链接。但是,对于JS代码,它呈现为: 通过以下方式与我们的销售经理联系:email@email.com. 我想第一句是如何网页呈现 代码如下: HTML: <p>Contact our Sales Manager

我有一个脚本,我正在使用它将一个链接从常规链接更改为mailto链接。这个想法是,大多数糟糕的机器人不会解析javascript,因此比按原样放置电子邮件地址或按空格和拼写@符号要好一点

HTML应呈现为:

通过电子邮件联系我们的销售经理

“电子邮件”一词是指向电子邮件的链接。但是,对于JS代码,它呈现为:

通过以下方式与我们的销售经理联系:email@email.com.

我想第一句是如何网页呈现

代码如下:

HTML:

<p>Contact our Sales Manager by
   <a class="email" title="email/email.com" href=" ">email</a>.
</p> 
$(function() {

  $('a.email').each(function(){

    var e = this.title.replace('/','@');

    $(this).text().replace('/','@');

    this.href=" ";

    this.href = 'mailto:' + e; $(this).text(e);

   });
});

我如何修改脚本以保留单词email,但正确创建链接?

以下是一个工作示例:

要解决此问题,只需删除JavaScript的一部分,如下所示:

$(document).ready(function() {
  $('a.email').each(function(){
    var e = this.title.replace('/','@');
    $(this).text().replace('/','@');
    this.href=" ";
    this.href = 'mailto:' + e;
   });
});​
我们已删除此代码:

$(this).text(e);

它负责用
email@email.com
在页面内容中。

以下是一个工作示例:

要解决此问题,只需删除JavaScript的一部分,如下所示:

$(document).ready(function() {
  $('a.email').each(function(){
    var e = this.title.replace('/','@');
    $(this).text().replace('/','@');
    this.href=" ";
    this.href = 'mailto:' + e;
   });
});​
我们已删除此代码:

$(this).text(e);
它负责用
email@email.com
在页面内容中。

替换

$(this).text(e)

text('some string')
用参数替换元素的内容。因此,在您的情况下,链接的内容被电子邮件地址替换。

Replace

$(this).text(e)


text('some string')
用参数替换元素的内容。因此,在你的例子中,链接的内容被电子邮件地址所取代。

如果你要通过JS来做,那么为什么还要麻烦把地址放在标签中呢

为什么不在(document.ready()上尝试类似的内容呢

编辑:


在这里工作:

如果你要通过JS来完成,那么为什么还要麻烦把地址放在标签上呢

为什么不在(document.ready()上尝试类似的内容呢

编辑:


在此工作:

如果您了解您的问题,以下是解决方案:

$(function() {
  $('a.email').each(function(){

    var e = this.title.replace('/','@');
    $(this)
        .attr('href','mailto:' + e)
        .text(e.substr(0,e.indexOf("@")));
   });
});​

如果您了解您的问题,请查看

,以下是解决方案:

$(function() {
  $('a.email').each(function(){

    var e = this.title.replace('/','@');
    $(this)
        .attr('href','mailto:' + e)
        .text(e.substr(0,e.indexOf("@")));
   });
});​

看看

我建议您阅读更多关于javascript和字符串的内容manipulation@pylover-我正在学习JS并一步一步地学习。请参阅我的答案和JSFIDLE示例我建议您阅读更多有关javascript和字符串的内容manipulation@pylover-我正在学习JS并一步一步地学习。请看我的答案和我所想的JSFIDLE示例但是我使用模板,我可以将代码粘贴到模板中,然后只需将类电子邮件和标题添加到特定的电子邮件地址。我知道这似乎很复杂,但就我而言,效果更好。虽然我可以在其他地方用你的例子。谢谢我已经想到了,但我使用模板,我可以坚持在模板的代码,然后只添加类电子邮件和标题的具体电子邮件地址。我知道这似乎很复杂,但就我而言,效果更好。虽然我可以在其他地方用你的例子。谢谢