2009-03-12 10 views
0

を使用して、リンクのアンカー部分に//が:それはすることはできませんので、各リンクに//:のhttpに置き換え:のいくつかのリンクのページにjQueryの

<a class="linked" href="http://link1.com>http://link1.com</a> 

<a class="linked" href="http://link2.com>http://link2.com</a> 

はどのように1が第二のhttpを削除します画面に表示されます。

は私が無駄にこれを試してみた:

$(document).ready(function() { 

$('.linked').html().replace("http://",""); 
+0

あなたはHREFからまたはテキストからそれを削除しようとしていますか? – Joel

+0

テキストから削除しようとしました。 – Adrian33

答えて

3

あなたが欠落しているアンカータグ

$.each($('.linked'), function() 
{ 
    var anchor = $(this); 
    anchor.text(anchor.text().replace("http:\/\/",'')) 
}); 

に表示されるテキストの話をしている場合は ');'最後に...念のため

+0

'$( '。linked')の代わりに' $ .each($( '。linked')、... '。それぞれ(...'? – Christoph

+0

)それらは同等です - 個人的な好み。 – rfunduk

+0

方法 – james

0

は、jQueryのレスバージョン:

var links = document.links; 
for(var i = links.length; i--;) { 
    with(links[i]) { 
     if(/(^|\s)linked(\s|$)/.test(className)) { 
      firstChild.nodeValue = 
       firstChild.nodeValue.replace(/^http:\/\//, ''); 
     } 
    } 
} 
+0

大丈夫ですが、それは頭や体に置かれても機能しませんでした。 – Adrian33

+1

@ adrian33:リンクを修正する前にリンクが存在する必要があります。つまり、スクリプト要素を本体の最後の要素として配置し、jQueryの 'ready()'関数、 'window.onload'または' DOMContentLoaded' – Christoph

関連する問題