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

Наш сайт регистрации предоставляет страницу обзора, прежде чем люди отправят свою регистрацию. Панель обзора включает в себя все, что они проверили, поэтому список индивидуален и изменчив. Каждый элемент начинается с даты / времени, которые отвлекают и должны быть скрыты / удалены.

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

Вот HTML списка, в котором были выбраны три параметра:

<ul style="list-style: none;">
  <li>and the sub events
    <ul>
      <li>6/30/2020 9:00 AM - 10:00 AM : Volunteer at North Campus</li>
      <li>6/30/2020 1:00 PM - 2:00 PM : Volunteer at South Campus</li>
      <li>6/30/2020 4:00 PM - 5:00 PM : Volunteer at West Campus</li>
    </ul>
  </li>
</ul>

Скрипт, удаляющий дату и время для LAST. строка:

$("div[class$=registrationDetails]").find('li').last().each(function() {
    $(this).text( $(this).text().split(':').pop() );
});

Как мне сделать это одинаковым для всех строк?

Ответы [ 2 ]

1 голос
/ 22 января 2020

Предполагая, что весь список находится в пределах div[class$=registrationDetails] div, вложенные элементы <li> вызовут проблему, если вы просто найдете <li> (найденный внешний <li> удалит кучу текста дочерних элементов ). Как только вы это сделаете, вам больше не придется получать ".last ()". Вам нужно указать, что вам нужны только внутренние элементы <li>. Итак:

Избавьтесь от .last() и замените .find('li') на .find('li > ul > li').

0 голосов
/ 22 января 2020
var listItems = $(".registrationDetails li");
listItems.each(function() {
    $(this).text( $(this).text().split(':').pop() );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...