jQuery 要素から特定のテキストを削除する

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

HTMLの

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

だけにしてほしい。

<div id="text">Anonymous From Minnesota</div>
ソリューション

もし、"By:"を含むすべての要素を探し出して削除したい場合は、次のようにします。

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

これは、任意の要素に出現する "By:" をすべて削除するものです。もし、特定のタイプの要素をターゲットにしたい場合は、$(':contains("By:")')を変更すれば、都合の良いセレクタが含まれるようになります。

解説 (10)

は、正規表現を使用したよりグローバルなソリューションです。これは、文字列の構造が変わっても、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>
解説 (0)
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>

javascript's の substring を使用し、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));
解説 (0)