jQuery:找到重复的ID并删除除第一个之外的所有ID

dit*_*tto 13 javascript each jquery

    $('[id]').each(function () {

        var ids = $('[id="' + this.id + '"]');

        // remove duplicate IDs
        if (ids.length > 1 && ids[0] == this) $('#' + this.id).remove();

    });
Run Code Online (Sandbox Code Playgroud)

以上将删除第一个重复ID,但我想删除最后一个.我试过$('#'+ this.id + ':last')但无济于事.

小提琴

在附加动作发生时,应保留带有值'sample'的输入.

nov*_*ung 21

使用jquery过滤器:gt(0)排除第一个元素.

$('[id]').each(function () {
    $('[id="' + this.id + '"]:gt(0)').remove();
});
Run Code Online (Sandbox Code Playgroud)

或者选择所有可用元素,然后使用排除第一个元素.slice(1).

$('[id]').each(function (i) {
    $('[id="' + this.id + '"]').slice(1).remove();
});
Run Code Online (Sandbox Code Playgroud)

  • 而不是用`:gt(0)`重复选择器,你可以使用`ids.slice(1)`来获取除`ids'中第0个元素之外的所有内容. (2认同)