2011-02-03 21 views
0

スパムロボットを避けるために、ウェブページ上の電子メールIDを非表示にするjquery関数があります。 私は、この関数の助けを借りて有効な電子メールIDにクラス 'mailme'ですべてのspanタグを置き換えようとしています。コードは1つのスパンタグで機能していましたが、各メソッドの助けを借りて複数のスパンに変更されて以来、機能していません。JQueryの問題各機能

Htmlの

<span class="mailme">myemail at mydomain dot com</span> 

jQueryの

$('span.mailme').each(function(){ 
var spt = "#" + $(this).attr("id"); 
var at =/at /; 
var dot =/dot /g; 
var addr = $(spt).text().replace(at,"@").replace(dot,"."); 
$(spt).after('<a href="mailto:'+addr+'" title="Send an email">'+ addr +'</a>') 
.hover(function(){window.status="Send a letter!";}, function(){window.status="";}); 
$(spt).remove(); 
}); 
+3

これらの引用符は疑わしいと思う ' –

+2

あなたが持っていない要素からIDを取得しようとしています。 – StrouMfios

+2

@ ime、何?あなたはMS Wordでコード化しない? – Stephen

答えて

3

ライブデモ:http://jsfiddle.net/g7Szt/2/

$('span.mailme').each(function() { 
    var addr = $(this).text().replace(/ at /, "@").replace(/ dot /g, "."), 
     s = '<a href="mailto:' + addr + '" title="Send an email">' + addr + '</a>', 
     link = $(s); 

    link.hover(function() { 
     window.status = "Send a letter!"; 
    }, function() { 
     window.status = ""; 
    }); 

    $(this).replaceWith(link); 
}); 

<head> 
    ... 
    <script> 
     $(function() { 
      // place all jQuery code here 
     }); 
    </script> 
    ... 
</head> 
+0

は、引用符を修正しました。それを指摘してくれてありがとうございます。しかし、それはまだ動作していません。 – Piyush

+0

@Piyushデモを作ります。 –

+0

@ŠimeVidas:Here - http://jsfiddle.net/a9mpS/ – stealthyninja