查找并替换克隆代码中的ID

时间:2015-01-05 11:04:30

标签: jquery

在我的HTML中,我有一个ID为room-row-1的div。我使用以下Jquery创建了一个新的ID为room-row-2

的克隆
//Clone Extra Rooms
var cloneIndex = $(".clonedRoom").length;

$('#add-room').click(function () {
    cloneIndex++;
    $('.add-persons-to-room-wrapper').first().clone()
    .attr("id", "room-row-" + cloneIndex)
    .appendTo('#room-list');
 });

这很好用。在克隆代码中,有一些元素仍然具有空间1的Id,例如:

<select name="rooms[]" id="room1" class="form-control">

如何通过克隆代码并用room2替换room1的所有出现?我想的是:

.find("*").each(function() {
    .html().replace("room1","room" + cloneIndex);
}
})

但这个代码无效。

1 个答案:

答案 0 :(得分:0)

我现在修改了我的功能如下:

$('#add-room').click(function () {
    cloneIndex++;
    $('.add-persons-to-room-wrapper').first().clone()
    .attr("id", "room-row-" + cloneIndex)
    .find("*").each(function () {
        var id = this.id || "";
        var match = id.match(regex) || [];
        if (match.length == 3) {
            this.id = match[1] + (cloneIndex);
        }

    })
    ;

});

此代码改编自http://jsfiddle.net/mjaric/tfFLt/并解决了重命名项目的问题,只要该数字位于Id的末尾 - 例如:select id =&#34; room1&#34;。

我将测试使用类和属性来查看是否仍然适用。