#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. да, это действительно работает