2011-12-25 24 views
17

私のウェブサイトの要素から「By:」というテキストを削除したいと思います。私は残りのテキストをそこに残しておきたい。どうすればjQueryでそれを達成できますか?ありがとうございました。jQuery要素から特定のテキストを削除する

HTML

<div id="text">By: Anonymous From Minnesota</div> 

私はそれだけになりたい:ジャバスクリプトのsubstringを使用して

<div id="text">Anonymous From Minnesota</div> 
+0

をあなたのhtml – themerlinproject

+0

を投稿してくださいどのような要素のどの属性からテキストを削除しますか? like ...テキスト入力フィールドの現在の値?または、div要素またはp要素内の任意のテキストですか? – codercake

+0

@themerlinproject HTMLを追加しました – henryaaron

答えて

28

ます "と" を持つすべての要素を検索したい場合はそれを削除して、これを試すことができます:

$(':contains("By:")').each(function(){ 
    $(this).html($(this).html().split("By:").join("")); 
}); 

これは、任意の要素内の「By:」の出現を削除します。特定のタイプの要素をターゲットにする場合は、$(':contains("By:")')に任意のセレクターを含めるように変更するだけです。

+0

これは私が探していたようですが、なんらかの理由でコンマがランダムに追加されています:http:// jsfiddle。ネット/ xSphc/ – henryaaron

+0

ハ!私は、セパレータパラメータをjoin()に追加するのを忘れていました。私はjoin( "")で答えを更新しました。基本的には、「By:」をセパレータとして使用して文字列を配列に分割し、配列要素をセパレータとして何も使用しない文字列に戻すことです。希望するもの: –

+1

基本的な.split()。join()句.replace(// g、 "")のパフォーマンスを知りたい方は、この面白いかもしれません:http://jsperf.com/split-join-vs-regex-replace –

3

var str = $("#text").text(); 
 
$("#text").text(str.substring(3));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="text">By: Anonymous From Minnesota</div>

と簡単にアクセスするために、あなたのdiv要素にIDを与えます:

HTML:

<div id="text">By: Anonymous From Minnesota</div> 

jqueryの:

var str = $("#text").text(); 
$("#text").text(str.substring(3)); 

あなたも1行でそれを行うことができます:中:

$("#text").text($("#text").text().substring(3)); 
9

正規表現を使用するよりグローバルな解決策。文字列の構造が変更されても、これはBy:を置き換えます。

var str = $('div').text().replace(/By:/g, ''); 
 
$('div').text(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="text">By: Anonymous From Minnesota</div>

1

、DIVにトンを一意のIDを与える:

$('#div_id').html($('#div_id').html().substring(3)); 

フィドル:http://jsfiddle.net/ChUB4/

関連する問題