Алексей Повольнов, ну, если вы измените nodeValue на HTML, то по факту произойдёт именно то что вы хотите - текст ноды будет содержать код. Мне кажется это достаточно логично - если вы изменяете содержимое текстовой ноды, то независимо от того что вы туда залили, отображаться это будет как текст, потому что нода текстовая, можете это по коду nodeType посмотреть. Вероятно, вам стоит не менять содержимое ноды, а создавать новый элемент и заменять ноду на него с помощью replaceChild
"он не написан в одно строку" - да, я вижу что в коде он не написан в одну строку, или о чем речь?
"как мне перемещаться по этим узлам" - несмотря на формулировку (перемещаться?) вероятно вам будет полезно знать, что объект body содержит, естественно, ссылки на все дочерние элементы: на элементы - в свойстве children, на узлы - в свойстве childNodes.
Immortal_pony: внезапно. Я под виндой выполняю "ping -6 rusgumus.ru", адрес ресолвится 2a03:6f00:1::b039:d229, то есть такой же как у вас, пинг с помощью рандомной онлайн тулзы то же самое показывает. К тому же контент сильно различается. В частности, вам показывается городской саратовский номер, а мне тоже саратовский, но мегафоновский.
Вероятно, для Москвы и Торонто разный контент, то есть скорее всё же для Москвы и "неМосквы", как это обычно бывает. Этот факт сам по себе не особо примечателен, а вот чтоб прям даже CMS для разных регионов отличалась, это я в первый раз вижу.
empr: я больше по JS чем по PHP, поэтому для меня запись usort(arr, function() {}) означает, что происходит вызов некой функции usort, которая в качестве аргументов принимает массив и функцию, к которым она сможет обращаться по идентификаторам предусмотренным при объявлении, как-то так: function usort(arr, f) {}. То есть, если бы речь шла о JS, то функция usort имела бы доступ к объекту с аргументами, и не было бы никакой проблемы обращаться к ним в любой итерации. В PHP всё по-другому? Если да, то не подскажете где можно было бы почитать именно об этой особенности PHP?
jeruthadam: без издёвки: если вы не знаете как из массива выбрать один элемент, то всё же вам лучше обратиться к MDN. Поверьте, в отличие от тостера он ответит на все ваши вопросы касаемо взаимодействия DOM и JS. Прямо пишите названия методов в строку поиска сверху, всё увидите сами.
"getElementsByClassName возращает ОДИН, первый элемент с этим классом" - так написано же elements, а не element, множественное число.
Названия методов - querySelectorAll и getElementsByClassName - слегка намекают на тот факт, что вы выбираете не элемент, а много элементов. А так да - если бы выбирали элемент, то у вас бы всё получилось.
Richswitch: верно, но px это абсолютная единица измерения, а vh - относительная. Поэтому vh в плане "сделать первую странцу одинаковой высоты для любого браузера" абсолютно не канает. Зато вполне канает когда нужно сделать, чтобы блок был высоты вьюпорта.
Короче говоря, вам нужно при сабмите отправить данные на сервер и обработать ответ без перезагрузки страницы? Если да, то попробуйте найти ответ в уже существующих вопросах - https://toster.ru/search?q=php+без+перезагрузки. На всяких случай оставлю репорт за то что вы этого не сделали.
"от 0 и до того момента, когда закончил скроллить" - то есть речь не о каждом конкретном тике анимации скролла, а обо всей попытке скролла? Если да, то вам также придётся следить за тем, к какой именно попытке скролла относится текущий тик, например с помощью таймеров.
Nikita Shchypylov: "код выполняется каждый раз когда страница скролится" - нет, только один раз - при первой попытке скролла.
"Мне нужно будет это константу отнимать от актуальной позиции" - ввиду того что в браузерах сейчас анимация плавная, актуальное положение от этой константы будет отличаться на считанное количество пикселей, от 1 до 20 в зависимости от скорости скролла. Вам проще без всяких событий сохранить текущее положение window.pageYOffset и всё.