#javascript #jquery #bootstrap-4
#javascript #jquery #bootstrap-4
Вопрос:
Мой сценарий заключается в том, что я передаю данные в строки для отображения внутри div.
Поэтому для каждой строки, которую я получаю, я создаю диапазон, а затем добавляю его.
Однако я хочу ограничить div максимум 100 строками / элементами диапазона.
Поэтому, если я получаю новые данные, самый старый элемент удаляется, чтобы освободить место для нового элемента.
Любые советы о том, как реализовать это с помощью jquery?
Это мой текущий код, просто добавляю.
dlogsocket.onmessage = function (event) {
$("#ws-dlog-data").append(event.data);
};
Комментарии:
1. пожалуйста, покажите, что вы уже сделали
Ответ №1:
Вы должны подсчитать, сколько элементов присутствует, и удалить первый, который должен быть самым старым, используя .first()
.
dlogsocket.onmessage = function (event) {
$("#ws-dlog-data").append(event.data);
// If more than 100 spans, remove the first (oldest).
if( $("#ws-dlog-data span").length >100 ){
$("#ws-dlog-data span").first().remove();
}
};
Ответ №2:
Вы можете проверить количество дочерних элементов и, если оно уже равно 100, удалить первый, прежде чем добавлять новый:
dlogsocket.onmessage = function (event) {
var $container = $("#ws-dlog-data");
while ($container.children().length >= 100)
$container.children().first().remove();
$("#ws-dlog-data").append(event.data);
};
Комментарии:
1. Спасибо!
children().length
иchildren().first()
это то, что я искал.