使用 Javascript 和 jQuery 更改部分名称

Change part of name with Javascript and jQuery

本文关键字:改部 Javascript jQuery 使用      更新时间:2023-09-26

我的页面上有一些select元素,我想删除名称的一部分。

他们的名字看起来像这样:

ctl02$fieldname

我要删除的部分是:ctl02$ .这样它只剩下fieldname

我要删除的部分总是以ctl开头,然后以$结尾的两位数字。

我用以下代码尝试了它,但这并没有解决问题:

$(".elements select").each(function() {
    this.setAttribute("name", this.getAttribute("name").replace(/ctl([0-9]+)'$$/, ""));
});

有人知道我该怎么做吗?

下面是一个演示:http://tinkerbin.com/Klvx5qQF

只是正则表达式中的一个错误。我不知道你为什么把$加倍,正则表达式末尾的$具有特定的含义,这不是你想要的。

这是固定版本:

$(".elements select").each(function() {
    this.setAttribute("name", this.getAttribute("name").
       replace(/ctl[0-9]+'$/, ""));
});

你不需要捕获任何东西,这就是为什么我也删除了括号。

如果你想确保只在名称开头时才删除ctl的东西,你可以将正则表达式更改为/^ctl[0-9]+'$/

我想这里不需要正则表达式:

$(".elements select").attr("name", function(i, attr) {
    return attr.substring(attr.indexOf("$") + 1);
});

使用这个:

$(function() {
    $("select").each(function() {
        var name = $(this).attr("name");
        $(this).attr("name", name.replace(/(ctl[0-9]+)/g, ""));
    });
});

查看演示 : 链接