Jquery: невозможно удалить родительский элемент - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь взять список элементов, которые заполняются отдельно, и отсортировать их по соответствующим UL.

Мой код работает, в основном. Я заметил, что не удается удалить li, в котором находится <span> (вы можете увидеть это визуально через лишнюю точку маркера, которую он оставляет слева). Я попытался удалить .parent() этого <span>, но он просто удаляет все. Как я могу удалить этот дополнительный родительский элемент? Я не нашел ничего подобного в других местах.

$(document).ready(function() {
  $('.sortItem').click(function(event) {
    var seen = {};
    $(".sortingCaret").each(function() {
      var txt = $(this).text();
      if (seen[txt]) {
        var ch = $(this).children().contents();
        $(this).replaceWith(ch);
      } else {
        seen[txt] = true;
      }
    });
  })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<button class='sortItem'>Sort</button>
<ul>
  <li><span>Results</span>
    <ul>
      <li><span class='caret sortingCaret'>TOYOTA CTR</span>
        <ul>
          <li><span>MODEL INFO</span>
            <ul>
              <li>MATRIX</li>
              <li>2006</li>
            </ul>
          </li>
        </ul>
      </li>
      <li><span class='caret sortingCaret'>TOYOTA CTR</span>
        <ul>
          <li><span>MODEL INFO</span>
            <ul>
              <li>MATRIX</li>
              <li>2006</li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...