Почему так отрабатывает скрипт js?

Есть небольшой скрипт
$('.js-select-tabs').each((ind, el) => {
	const $text = $(el).find('.js-select-tabs-text');
	const $head = $(el).find('.js-select-tabs-head');

	if (!$text.filter('.is-active').length){
		$text.eq(0).addClass('is-active');
	}

	$head.html($text.filter('.is-active'));
});

Если не выполнять его, то дом дерево имеет вид
5b8850b0de5c3627605703.jpeg
Если выполнить, то дом дерево будет иметь вид
5b8850c7045d7574128638.jpeg
Не могу понять, как этот скрипт удалил первый элемент span из списка в select-tabs__dropdown ?
Не вижу явного удаления из дом дерева.
Ссылка на пример ( то что нет других скриптов )
https://codepen.io/Yurajun/pen/pORzxL
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Не вижу явного удаления из дом дерева.

Неявно тоже ничего не удаляется - элемент перенесён в .js-select-tabs-head, неужели этого не видно? Или вы думаете, что там другой элемент, копия? Это не так - можете получить элемент до вызова html, после, сравнить их, увидите, что это один и тот же элемент.

Хотите, чтобы происходило копирование вместо перемещения... Ну, очевидно же:

$head.html($text.filter('.is-active').clone()).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 07:32
75000 руб./за проект
28 нояб. 2024, в 11:38
5000 руб./за проект
28 нояб. 2024, в 11:20
50000 руб./за проект