2011-07-21 19 views
2

特定のクラスの文字列の最後の文字を修正したいと思います。 つまり、クラスlastli.last)に属するリスト項目で、カンマをフルストップに変更したいと考えています。クラス内の文字を変更する

<li>one,</li> 
<li>two,</li> 
<li>three,</li> 
<li class="last">four,</li> 

変化に:たとえば

<li class="last">four.</li> 

これを実行するための簡単な方法はありますか?

+6

なぜHTMLを作成するコードでそれをしないのですか? – Tomalak

+2

あなたの答えの多くは、最後の文字の代わりにカンマを置き換えているだけです。 –

答えて

0
$(".last").text($(".last").text().replace(",",".")); 

が、これは良い解決策である場合、要素内のいずれかの子要素があるとき、私はjQueryを持つクラスでlast

+1

NOOOOOOOOOOOOOOOOはすべての '、'を '.'で置き換えます!人々は、眠ります。私はあなたのトリガを持っています。 –

+0

@roXon - 実際は、*最初のカンマ - http://jsbin.com/asajasだけが置き換えられます。 JavaScriptは変わっています - 一見単純な文字列でさえ、 '/ g'フラグが必要です。 – Kobi

+0

私は知っている...私は誰かが私のコメントを+1するかどうかを見たいと思った!人々... SLEEEEEP MORE! :) –

0

わからない:

var $last = $('.last'); 
$last.html($last.html().replace(',' , '.')); 

この意志すべてを置換する "、" to " 希望に役立ちます。

0

私はこのような

$('li.last').text($('li.last').text().replace(',', '.') 
+0

antは、文字列の最後の文字**を指す正確な例です。 :| –

+0

彼は「カンマをフルストップに変更したい」 –

0

何か言う:あなたは多くのそのような要素を持っている場合に便利である機能を、取る.textオーバーロードを使用することができます

var elem = $('li.last'); 
elem.text(elem.text().replace(/,^/, ".")); 
1
$('.last').each(function(){ 

    var text = $(this).text(); 
    text = text.substr(0,text.length-1); 
    text = text+'.'; 

    $(this).text(text); 

}); 
+1

これは文字列の最後の文字を削除し、ドットで置き換えます –

4

を:

$('li.last').text(function(i, text){ 
     return text.replace(/,$/, '.'); 
}); 

例:http://jsfiddle.net/xVHKd/

:last-childセレクタ:$('li:last-child')を使用することもできます。

+1

@roXonプログラミングでは、「** THE ** correct」と呼ばれることはありません溶液"。あなたが行くことができる最大限は "** A **正しい解決策"です。そしてシフトキーがついているので、修理してください。 – Tomalak

+0

:) Tomalak!君が愛おしい。ダン、もう一度。 –

関連する問題