Сергей,
-В случае поиска по ID: elem.querySelector('#id'), большинство браузеров оптимизируют поиск, используя вызов getElementById.
-Последние результаты поиска сохраняются в кеше. Но это до тех пор, пока документ как-нибудь не изменится.
сноска из учебника https://learn.javascript.ru/searching-elements-int...
какие есть способы изменить документ, чтобы кеш был очищен?
Interface, это учебник пишет, но вот что за изменения должны быть кроме перезагрузки, что бы кеш был стерт, я не догоняю, простые изменения типа перестоновки, добовления, не трогают этот кеш
Сергей, вот не понимаю я многих прогеров, уже давно изучаю язык и знаю что там полно универсального, бывают неоднозначные моменты, но много чего универсального, и когда задаешь вопрос казалось бы на понятную тему, а задаешь его по многим причинам, например прост мозги забуксовали или нюанс пропустил какой... вечно просят все им выложить(
когда спрашивают как человек жует, а ему в ответ, а что он жует? как будто не понятно, что спрашивают в целом и основное, остальное потом при необходимости можно уточнить
habrdima, тебя не смущает что на «вопрос казалось бы на понятную тему» за четыре часа нет ни одного ответа?
Может быть проблема всё-таки не в прогерах, которые могли бы ответить, а в неполной (неясной, неточной) постановке вопроса?
Сергей, что за мир? или так или так, других вариантов быть не может? лучше бы написал, код обнуления переменной, что я спросил, чем все эти вопросы, намного больше было бы помощи
habrdima, я вам отвечу: нет такой возможности в DOM API (насколько мне известно и, как видно из других ответов - не только мне). Но, что более важно, то что вы хотите ее найти говорит о том, что вы скорее всего делаете что-то "не так". Здесь люди пытаются выудить у вас вашу реальную задачу, чтобы подсказать, как ее можно (и скорее всего нужно) решать.
Кстати, по вашей ссылке на учебник, кэшируется querySelector, а не getElementById.
простые изменения типа перестоновки, добовления, не трогают этот кеш
Не могли бы объяснить, на основании чего, вы делаете такой вывод? В идеале конечно код или хотя бы объяснение словами. Если вы вдруг используете (не известно откуда взявшийся) метод isGetElementByIdCacheEmpty (или что-то вроде того) буду рад увидеть ссылку на его спецификацию! (возможно там рядом лежит clearGetElementByIdCache :) )
Interface, решение своей задачи я нашел сам, без очистки кеша, но вопрос был про кеш, из учебника я понял что id тоже кешируется, если это не так то прошу прощения за свою ошибку, если так то вопрос этот же про querySelector,
вывод делаю основываясь на тестах, но долго описывать, код не мой и еще больше)
Роман, задачу сам решил, другим способом, вопрос был про кеш который надо очистить самым простым способом что вам известен, перезагрузку страницы не использовать
habrdima, в этом плане вопрос понятен. Но хотелось бы знать цель всего этого.. Вы хотите что бы при getElementById браузер не нашел ни одного айдишника? Или какова конечная цель...