2011-09-20 12 views
7

So che ci sono plugin che fanno questo, ma ho bisogno di qualcosa di abbastanza specifico e non riesco a trovare nulla.Nascondere l'indirizzo email con jQuery

Ho bisogno di uno script jQuery che modifichi solo il collegamento mailto e non il testo del collegamento. Per esempio:

<a href="person(at)exammple.com">Person's Email</a>

ho bisogno di visualizzare qualcosa di diverso all'interno del link, oltre l'indirizzo di posta elettronica reale. Lo script che stavo cercando di utilizzare è da this site.

Ecco lo script:

jQuery.fn.mailto = function() { 
    return this.each(function(){ 
     var email = $(this).html().replace(/\s*\(.+\)\s*/, "@"); 
     $(this).before('<a href="mailto:' + email + '" rel="nofollow" title="Email ' + email + '">' + email + '</a>').remove(); 
    }); 
}; 

Penso di aver bisogno di sostituire la variabile "e-mail" con qualcos'altro tra i <a> tag, ma non sono sicuro di quello che. Sono ancora piuttosto nuovo di jQuery.

Grazie.

risposta

8

ne dite di questo:

(function($) { 
    jQuery.fn.mailto = function() { 
     return this.each(function() { 
      var email_add = $(this).attr("href").replace(/\s*\(.+\)\s*/, "@"); 
      var email_text = $(this).html(); 
      $(this).before('<a href="mailto:' + email_add + '" rel="nofollow" title="Email ' + email_add + '">' + email_text + '</a>').remove(); 
     }); 
    }; 

})(jQuery); 

$(document).ready(function() { 
    $(function() { 
     $('.email').mailto(); 
    }); 
}); 

si può provare @jsfiddle

1

var email = $ (this) .html(). Replace ('@', '(at)');

+0

Ho bisogno di farlo con jQuery, sfortunatamente. Probabilmente potrei farlo con PHP, ma ho istruzioni specifiche che devono essere jQuery. – JacobTheDev

+3

Sembra jQuery per me ... –

0

Ho un JQ-plug-in che ho fatto che potrebbe aiutare. Vedere il fiddle(working demo)

Tenere presente che il plug-in termina in/* --------------------------------- ----------------------------------------- */

Per utilizzare è ez:

$("#domElementID").jqMailTo({ // Not all of these options are a must except for the address 
    address: ["[email protected]","[email protected]","[email protected]"], // can also be as simple as 1 string, exp -> address:'[email protected]', 
    label:  'testLabel', 
    subject: 'This is a subject', 
    body:  'This is a Body section', 
    cc:   '[email protected]', 
    bcc:  '[email protected]' 
});