2013-02-28 91 views
1

我使用這些值在我的網站上擁有此跨度。刪除字符串的特定部分,並在末尾添加另一個

<span>1,4,4,7,5,9,10</span> 

我想使用jQuery刪除"1,"(或什麼都第一個數字),將目光從字符串的開始和結束時(或任何其他數字,而不是12)添加",12"所以像這樣:

<span>4,4,7,5,9,10,12</span> 

我該如何使用jquery或java腳本來做到這一點?

+0

我試過split(',');但每次我嘗試時都選擇了一個隨機的「,」。 – 2013-02-28 03:06:26

回答

2
<span id="myText">1,4,4,7,5,9,10</span> 

JS:

var text = $('#myText').html().split(',').slice(1); 
text.push('12'); 
$('#myText').html(text.join(',')); 

http://jsfiddle.net/samliew/RD6W8/7/

2

您可以使用拆分或正則表達式與

與string.replace

下面介紹如何使用拆分:

var arr = '1,4,4,7,5,9,10'.split(','); 
arr.shift(); 
arr.push('12'); 
var result = arr.join(','); 

或者同正則表達式(不是很可讀一個我承認):

'1,4,4,7,5,9,10'.replace(/^\d+,(.*)$/, '$1,12') 
2
$('span').text(function(i, t) { 
    return t.replace(/\d+,/, '') + ',12'; 
}) 

http://jsfiddle.net/dnkEV/

+0

我喜歡這個答案 – 2013-02-28 03:19:40

+0

要在正則表達式中完成所有操作:''1,4,4,7,5,9,10'.replace(/^\ d +,(。*)$ /,'$ 1,12' )' – Greg 2013-02-28 03:23:36

1

使用DOM API,你可以這樣做:

var tn = span.firstChild; 

tn.deleteData(0, tn.data.indexOf(",") + 1); 
tn.data += ",12"; 

http://jsfiddle.net/KMzau/


或者像這樣:

var tn = span.firstChild; 

tn.data = tn.data.slice(tn.data.indexOf(",") + 1) + ",12"; 
相關問題