【问题标题】:Replacing part of text XML to SVG将部分文本 XML 替换为 SVG
【发布时间】:2017-02-03 09:59:21
【问题描述】:

我有一个将 XML 转换为 SVG 的脚本。现在我有一个脚本,可以用它用 jQuery 替换字符串,但我只想替换部分文本。例如,当我有Gmaj7 并且我想将其更改为Dmaj7 时,只需将G 替换为D。我该怎么做?

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');
}

【问题讨论】:

    标签: javascript jquery xml svg


    【解决方案1】:

    您可以在提供给text() 方法的函数中使用replace() 方法。试试这个:

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

    【讨论】:

    • 嗨,罗里,谢谢。您是否也知道是否可以将此功能不仅应用于#m-47,而且可以将文档中的所有“G”更改为“D”?所以我不必指定所有不同的 id?
    • 您可以通过在所有这些元素上放置一个类然后按该类进行选择来实现这一点。如果没有递归,你真的不能一次完成整个文档。
    • 没问题。在这种情况下,我可以使用相同的代码,但将 #m-47 替换为 ."nameofclass" ?
    • 这取决于你的 HTML 结构,但它应该在正确的情况下工作
    • 不幸的是还没有工作。在我所有 G7 和弦的 xml 中: G7
    猜你喜欢
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多