迭代所有元素并更改其ID

时间:2014-06-19 11:48:54

标签: jquery html jsp

我有一个.jsp页面,其中许多元素都有以特定字符串结尾的id。例如:

<div id="topActions-1083"></div>
<div id="collapse-1083">
<input id="collapse1Input-1083" type="hidden" value="expanded"></input>
</div>

这是获取ID结尾的所有元素的最快方法&#39; 1083&#39;并将其更改为&#39; 1084&#39; ?

3 个答案:

答案 0 :(得分:4)

试试这个

$("[id*=1083]").each(function(){
   var iid = $(this).attr('id')
   var fin = iid.replace('1083','1084')
   $(this).attr('id',fin)
   console.log(fin)
});

Working DEMO

选择器示例

以给定字符串开头(例如1083),

$("[id^='1083']")

如果要选择id包含给定字符串的元素:

$("[id*='1083']")

如果要选择id不是给定字符串的元素:

$("[id!='1083']")

答案 1 :(得分:3)

尝试使用.attr()的接收器功能

$('[id$=1083]').attr('id',function(_,id){ 
    return id.substr(id.length - 4) + '1084'; 
});

DEMO

或者狼建议您可以使用.split()代替.substring()

$('[id$=1083]').attr("id", function (_, id) {   
   return id.split('-')[0] + '-1084';
});

答案 2 :(得分:1)

您可能会尝试这样做:

<强>脚本

$(function()
{
    $('[id$=1083]').prop('id',function()
    {
        return this.id.replace('1083', '1084');
    });
});