Как я могу удалить дубликаты из каждого элемента в шаблоне jsrender? - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь удалить дубликаты файлов из каждого div в jsrender, но не могу сделать это правильно, так как все дубликаты удаляются.

$('.media-holder').each(function () {
  $('.media-item').each(function () {
    $('.media-item:contains("' + $(this).text() + `enter code here`'"):gt(0)').remove();
  });
});

Текущий вывод:

**Files part 1**
abc file
def file
abc file
**Files part 2**
abc file
def file
abc file
def file
ghi file

Требуемый выход:

**Files part 1**
abc file
def file
**Files part 2**
abc file
def file
ghi file

1 Ответ

1 голос
/ 01 октября 2019

Используйте media-holder в качестве контекста селектора

$('.media-holder').each(function(i, holder) {
  $('.media-item').each(function() {
    $('.media-item:contains("' + $(this).text() + '"):gt(0)', holder).remove();
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="media-holder">
  <div class="media-item">abc file</div>
  <div class="media-item">def file</div>
  <div class="media-item">abc file</div>
</div>
<br/>
<div class="media-holder">
  <div class="media-item">abc file</div>
  <div class="media-item">def file</div>
  <div class="media-item">abc file</div>
  <div class="media-item">def file</div>
  <div class="media-item">ghi file</div>
</div>
...