为包含特定字符串的每个元素删除字符串和之后的所有内容

Remove string and everything after for each element containing certain string

我有一家网上商店的菜单项需要删除其名称的特定部分,因为它仅供我参考。

我要剪切的字符串部分是“-123-”以及之后的所有内容。 例如"fender-123-guitar" 会变成 "fender"

有多个带有“-123-”的菜单项实例,所以我需要自动执行所有操作(不是一一执行。)

字符串可以这样选择: $( 'li.menu-item > a' ).text()

谢谢!

这将是 "one by one",但它应该如何完成?

$( 'li.menu-item > a' ).text(function(_,txt) {
    return txt.split('-123-').shift();
});

FIDDLE