как я мог изменить данные ячейки, используемые одним и тем же классом для столбца, все классы в столбце имеют один и тот же класс

#javascript #jquery

Вопрос:

введите описание изображения здесь

Я хочу изменить данные ячеек таблицы с помощью jquery.Я хочу, чтобы они были заменены данными, которые будут взяты из той же ячейки. например, данные более старых ячеек — 5 октября 2021 года, 18:00, я хочу, чтобы они изменились только на 18:00. Все клетки пришли на занятия.

Я пытался

 var str1 = $('.service_date').text();
              console.log(str1);
             $.each(str1 , function() { 
              var subStr = str1.substring(str1.length, str1.length-5);
              console.log(subStr);});
 

Комментарии:

1. var str1 = $('.service_date').text(); не создает массив строк, он создает одну строку, содержащую текст всех совпадающих элементов. Вам нужно все это повторить $('.service_date') и использовать $(this).text() внутри функции. Пожалуйста, всегда, всегда проверяйте документы, прежде чем публиковать их здесь.

Ответ №1:

Вы просто устанавливаете str1 текст первого соответствующего элемента, а не массив из них всех.

Используйте .text() метод с аргументом функции. Это приведет к повторению всех совпадающих элементов, заменяя их текст возвращаемым значением функции.

 $("#update").click(function() {
  $('.service_date').text(function(i, str1) {
    return str1.slice(-5);
  });
}); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <th>Pickup Time</th>
  </tr>
  <tr>
    <td class="service_date">October 5, 2021, 18:00</td>
  </tr>
  <tr>
    <td class="service_date">December 10, 2021, 18:00</td>
  </tr>
</table>
<button id="update">Remove dates</button> 

Комментарии:

1. столбец из таблицы имеет дату и время, я хочу, чтобы он получал данные ячейки, удалял дату и печатал только время

2. Вот что это делает.

3. Я добавил исполняемый фрагмент кода.

4. да, это действительно работает