2011-07-21 16 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(",",".")); 

,但我不知道這是一個很好的解決方案時,有在任何元素的子元素與類last

+1

NOOOOOOOOOOOOOOOO將用'.'代替所有','!人們,睡覺睡覺moreeeeee。我的觸發器在-1 ....上:| –

+0

@roXon - 實際上,它只會替換* first *逗號 - http://jsbin.com/asajas。 JavaScript很奇怪 - 甚至看起來簡單的字符串替換需要'/ g'標誌。 – Kobi

+0

我知道...我只想看看有人會對我的評論+1!人們...更多SLEEEEEP! :) –

0

隨着jQuery

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

這將將所有「,」替換爲「。」 希望有所幫助。

0

我想說

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

螞蟻就是指向一個字符串中**最後一個字符**的確切示例????? :| –

+0

他「希望將逗號改爲全站」 –

0

事情是這樣的:

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

可以使用.text重載需要一個功能,如果你有很多這樣的元素,這是有用:

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

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

請注意,您也可以使用:last-child選擇器:$('li:last-child')

+1

@roXon在編程中,絕不會有任何可被稱爲「** THE **正確解」。你可以去的最大值是「** A **正確的解決方案」。另外,您的換檔鍵,請修理。 – Tomalak

+0

:) Tomalak!我崇拜你。 Dam'n,再次。 –