Аватар для Bring
133 / 53 / 43
Регистрация: 09.05.2015
Сообщений: 565

Удаляются данные из переменной querySelectorAll

02.11.2018, 12:32. Показов 859. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Я уже обращался с этой проблемой, но мне не отвечают в старой теме.
Вопрос тот же. Сохраняю данные в переменную, потом когда удаляю из дерева, чистится и переменная.
Как сделать так, чтобы удаление где бы то нибыло, не затрагивало переменную.

JavaScript
1
2
3
4
5
6
7
//cut out tr elements from tbody
    var trElements = document.getElementById("tableWrapper").querySelectorAll("tbody")[0];
    
    //clear tbody table
    var tbodyChildren = document.getElementById("tableWrapper").getElementsByTagName("tbody")[0].getElementsByTagName("tr");
    for(var i = tbodyChildren.length - 1; i > 0; i--)
        tbodyChildren[i].remove();
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2018, 12:32
Ответы с готовыми решениями:

Удаляются данные из переменной
Привет всем. Я вообще не понимаю почему это так работает... у меня есть переменная куда я сохраняю tr элементы var trElements =...

Удаляются данные с флэшки
В общем вставляю флэшку в пк,создаётся куча ярлыков данные еще остаются,через секунд 30 всё удаляется,повторюсь удаляется,не...

Удаляются данные из колонки
Здравствуйте. Достался сервер. Есть таблица с полями id, path, ident. Данными наполняется эта таблица через web-приложение. Проблема...

9
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2381 / 1741 / 677
Регистрация: 07.08.2016
Сообщений: 4,096
02.11.2018, 13:55
Опять же обращаю ваше внимание на то, что методы getElement(s)By - "живые".
Вы получили коллекцию элементов в переменную tbodyChildren с помощью этих методов. Затем в цикле удалили все эти элементы из DOM, соответственно в переменной у вас ничего нет.
0
 Аватар для Bring
133 / 53 / 43
Регистрация: 09.05.2015
Сообщений: 565
02.11.2018, 14:14  [ТС]
Цитата Сообщение от AlexZaw Посмотреть сообщение
Опять же обращаю ваше внимание на то, что методы getElement(s)By - "живые".
Вы получили коллекцию элементов в переменную tbodyChildren с помощью этих методов. Затем в цикле удалили все эти элементы из DOM, соответственно в переменной у вас ничего нет.
Надо было сразу сказать про cloneNode(true);. А не обьяснять почему они живые или нет.
0
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2381 / 1741 / 677
Регистрация: 07.08.2016
Сообщений: 4,096
02.11.2018, 15:22
Цитата Сообщение от Bring Посмотреть сообщение
Надо было сразу сказать про cloneNode(true);. А не обьяснять почему они живые или нет.
Хм, во-первых, в вашем коде ни в одной из тем (по данной проблеме) нигде нет упоминания о "cloneNode", а, во-вторых, даже если и был бы, то что бы это изменило? Эти методы постоянно следят за обновлением DOM, и как только там что-то появляется или исчезает - они обновляют содержимое переменной. Об этом я вам и пытаюсь втолковать. Если вы этого не понимаете - не стоит винить других. Вы пришли сюда за помощью, и никто вам ничем не обязан. Удачи в обучении...
1
 Аватар для Bring
133 / 53 / 43
Регистрация: 09.05.2015
Сообщений: 565
02.11.2018, 17:14  [ТС]
Цитата Сообщение от AlexZaw Посмотреть сообщение
Эти методы постоянно следят за обновлением DOM
cloneNode решил мою проблему
0
Модератор
Эксперт HTML/CSS
 Аватар для AlexZaw
2381 / 1741 / 677
Регистрация: 07.08.2016
Сообщений: 4,096
02.11.2018, 18:01
Каким образом? Что за костыль вы там придумали? Вся ваша проблема, даже при использовании getElement решается простым способом:
var tbodyChildren = trElements.querySelectorAll("tr");
1
392 / 294 / 121
Регистрация: 26.08.2016
Сообщений: 902
02.11.2018, 23:59
Цитата Сообщение от Bring Посмотреть сообщение
cloneNode решил мою проблему
Вашу проблему решит знакомство с селекторами, чтобы не писать километровые конструкции вроде
JavaScript
1
var tbodyChildren = document.getElementById("tableWrapper").getElementsByTagName("tbody")[0].getElementsByTagName("tr");
вместо простых лаконичных
JavaScript
1
var tbodyChildren = document.querySelectorAll("#tableWrapper tbody tr");
И да, как сказано выше, при использовании querySelectorAll документ не удаляется из коллекции
1
 Аватар для Bring
133 / 53 / 43
Регистрация: 09.05.2015
Сообщений: 565
05.11.2018, 18:19  [ТС]
Цитата Сообщение от renat_dmitriev Посмотреть сообщение
документ не удаляется из коллекции
у меня переменная чистилась динамически вместе с содержимым откуда было скопировано
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
07.11.2018, 23:47
Bring, вы не привели ни конкретного минимального примера, в котором наблюдается ваш "баг", ни конкретных ожидаемых результатов работы кода (который работает с DOM, но разметки тут не наблюдается), которые работают как вам кажется не так, как вы хотели. На какой ответ вы рассчитывали?
0
 Аватар для Bring
133 / 53 / 43
Регистрация: 09.05.2015
Сообщений: 565
08.11.2018, 16:40  [ТС]
Цитата Сообщение от j2FunOnly Посмотреть сообщение
вы не привели ни конкретного минимального примера
Чтобы привести вам минимальный пример, мне придется сейчас изменить код назад, чего мне очень не хочется. Так что просто поверьте на слово, что querySelectorAll помог в одном случае, но не помог в другом. Ответ на свой вопрос я нашел. Но и предыдущие меня устроили.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.11.2018, 16:40
Помогаю со студенческими работами здесь

Не удаляются почему-то данные
Здравствуйте. Такой вопрос. Вот есть у меня List<Man>, у myclass есть свойство DateTime dt. Надо мне оставить в списке только те...

Удаляются данные из Access
При добавление данных в бд сохраняется на некоторое время а потом удаляется что не так?

GridView не удаляются данные
Не могу понять где ошибка, не удаляются данные с БД редактирование происходит нормально а удаление нет У GridView Включил...

Удаляются данные массива. Python
У меня есть код в котором возникла проблема с использованием массива. Вот мини версия этого кода: # -*- coding: utf-8 -*- def...

Не удаляются данные из структуры в файле
Функция udalenie работает некорректно #include<stdio.h> #include<iostream> #include<conio.h> #include<string.h> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru