2011-01-26 6 views
0

アンカーテキストのPartを削除または変更しようとしています。アンカーテキストの一部をjqueryまたはjavascriptで削除する

私のアンカーは、次のようになります。

<a href="http://something.com">Model 1234 motorbike</a> 

を私はで終わるために、アンカーテキストの「バイク」の部分を削除したいと思います:

<a href="http://something.com">Model 1234</a> 

これを行う方法を誰もが知っています?

おかげ

更新:

アンカーリンクは異なるウェブサイトから来ています。だから私はHTMLを制御することはできません。私は単に送信されたアンカーから "バイク"の部分を削除しようとしているので、私のウェブページに100回も表示されません。

@ Shivクマー:はい、「オートバイ」は常にアンカーテキストの最後の部分です。 @Phrogz:スクリプトは私のサイトに利用可能なモデルを送信しています。アンカーテキストの最後の部分は常に「オートバイ」で、最初の部分が変更されます:モデル1234、タイプ4321など

しかし、私は最初にコードを試してみましょう。

すみません、返信ありがとうございます。

非常に高く評価されています。

エリック

+1

そのとにかくオートバイで終わる? –

+0

jQueryはJavaScriptです。 – amphetamachine

+0

"バイク"を取り除くことをどう決めていますか?あなたはいつも最後の言葉を削除していますか?それとも、バイクという言葉が常に存在するのですか? –

答えて

2

a)のブラウザに送信されたHTMLを変更し、クライアント上でそれをパッチを適用しようとしないでください。ユーザーがJavaScriptをオフにしている場合はどうなりますか?

B)

// Get rid of the last word in the text for all anchors referencing 
// the domain something.com 
$('a[href*="something.com"]').html(function(oldHTML){ 
    return oldHTML.replace(/\s\S+$/,''); 
}); 

// Keep only "Model xxxx" 
$('a[href*="something.com"]').html(function(oldHTML){ 
    return oldHTML.replace(/^(Model \d+).+/, '$1'); 
}); 

編集:すべてのリンクから、具体的単語 'バイク' を削除するには:

$('a').html(function(oldHTML){ 
    return oldHTML.replace(' motorbike', ''); 
}); 
+0

は可能ならばこれをサーバー側で解決すべきだと同意したが、ほとんどの場合、検索エンジンのボットはJavaScriptがオフになっている可能性が高く、Facebookの人々はどこでも...機能を侵害しているので、まだ受け入れられています... btw:http://www.w3schools.com/browsers/browsers_stats.asp –

0

リンクをフィルタリングするクラス名を追加します。

$(".with_motorbike_txt").each(function() { 
     var cur_txt = $(this).html(); 
     $(this).html(substring(0, cur_txt.indexOf('motorbike')); 
    }); 
関連する問題