$('[id]').each(function () {
var ids = $('[id="' + this.id + '"]');
// remove duplicate IDs
if (ids.length > 1 && ids[0] == this) $('#' + this.id).remove();
});
以上将删除第一个重复的ID,但我想删除最后一个。我已经尝试了$('#'+ this.id + ':last')
,但无济于事。
Fiddle
在fiddle中,当附加操作发生时,应该保留值为“sample”的输入。
9条答案
按热度按时间cczfrluj1#
使用jquery过滤器
:gt(0)
排除第一个元素。或者选择所有可用元素,然后使用
.slice(1)
排除第一个元素。omtl5h9j2#
试试看:
brgchamk3#
你可以试试
cwxwcias4#
rggaifut5#
这段代码比其他一些代码要长,但是双嵌套循环应该使其操作显而易见。
这种方法的优点是,它只需要扫描DOM来生成具有
id
属性 once 的元素列表,然后使用同一列表来查找(并删除)重复的元素。已删除的元素将具有
parentNode === null
,因此在迭代数组时可以跳过。py49o6xq6#
试试这个
而jsfidle是http://jsfiddle.net/z4VYw/5/
lymgl2op7#
我将使用
not()
从ids
中移除当前元素,并移除其余元素:(Fiddle)
gkn4icbw8#
尝试使用下面的功能对我来说很好:
muk1a3rh9#