2016-09-26 88 views
0

我有一個將XML轉換爲SVG的腳本。現在我有一個腳本,可以用jQuery替換字符串,但我只想替換部分文本。例如,當我有Gmaj7並且我想將其更改爲Dmaj7時,只有G必須由D替換。我怎樣才能做到這一點?將部分文本XML替換爲SVG

function translatede() { 
    $('#m-41 > text:nth-child(1) > tspan:nth-child(1)').text('D'); 
    $('#m-47 > text:nth-child(1) > tspan:nth-child(1)').text('Dmaj7'); 
    $('#m-53 > text:nth-child(1) > tspan:nth-child(1)').text('C'); 
} 

回答

1

你可以使用你提供的text()方法在函數內replace()方法。試試這個:

$('#m-47 > text:nth-child(1) > tspan:nth-child(1)').text(function(i, text) { 
    return text.replace('G', 'D'); 
}); 
+0

Hi Rory,謝謝。您是否知道是否可以將此功能應用到#m-47而不是將文檔中的所有'G'更改爲'D'?所以我不必指定所有不同的ID? –

+0

您可以通過在所有這些元素上放置一個類然後通過該類選擇來實現。您無法一次性完成整個文檔而無需遞歸。 –

+0

這沒問題。在這種情況下,我可以使用相同的代碼,但是用#代替#m-47「nameofclass」? –