Jquery通过循环删除第一个重复的id

问题描述 投票:-2回答:1

我正在尝试删除循环中的所有第一个重复ID。

$("#div2 #column3").each(function() {
   var $ids = $("#div2 #column3");
   if (("#div2 #column3").length) {
         $ids.first().remove();
     }
});

这是我尝试过的小提琴。 https://jsfiddle.net/qm89a1cf/5/

我试图得到结果:

hi
hello
yo
hi
hello
yo
hi
hello
yoo

注意: - 我知道HTML结构不正确(因为HTML中出现了多次相同的ids),但我无法纠正它,因为HTML通过另一个人来传播)

jquery loops
1个回答
0
投票

重要: - 在评论其他人时,你必须清理你的HTML。(使id每个元素唯一,或使用class)。

解决当前情况的方法是: -

$(document).ready(function(){
  $("div#div2").each(function() {
    if ($(this).children().length > 0) {
      if ($(this).children('#column3').length > 1) {
        $(this).children('#column3:first').remove();
      }
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div2">

  <div id="column1">hi</div>
  <div id="column2">hello</div>
  <div id="column3">5</div>
  <div id="column3">yo</div>

</div>

<div id="div2">

  <div id="column1">hi</div>
  <div id="column2">hello</div>
  <div id="column3">5</div>
  <div id="column3">yo</div>
</div>

<div id="div2">
  <div id="column1">hi</div>
  <div id="column2">hello</div>
  <div id="column3">yoo</div>
</div>

工作小提琴: - https://jsfiddle.net/p8tpyj0j/

注意: - 正如我所说的当前场景的解决方法,我不能保证相同的代码适用于不同的HTML。

© www.soinside.com 2019 - 2024. All rights reserved.