вопрос
Они ьез поиска элемента сразу обращаются к id формы, это действительно работает или они просто скрыли объявление этих переменных и они лежать выше по скоупу вне видимости этого окошка?
Не скрывали, элементы, у которых есть id создают в window ссылку на себя с таким же именем. Не знаю как правильно выразить мысль )
я потестил, это внатуре работает, это получается можно избавиться от поиска по id и сразу обращатся к элементу, прикольная штука даже не знал об этой фиче ))
Короче, сейчас не скажу точно, но проверь, что это работает в Safari, мне кажется у меня был с ними какой-то факап по этому поводу)
в сафари тоже пашет, может конечно на более старых версиях это и не прокатит
я еще потестил и это работает супер криво и не стабильно, если образаться сразу к id то если id совпадут, он скажет что это массив из двух элементов а если искать через gtElementById он стабильно выдает первый который нашелся
нормальное поведение как квериОлл
Я ожидал перезаписи значений, т.е. второй перезаписывает первый и будет найден, либо наоборот поиск первого который нашелся как в случае с getElementById Но он вместо этого учитывает тот факт что их несколько и создает массив и теперь не получится просто проверить есть он в дереве или нет, нужно еще обращаться к неу как к элементу массива А если он все же один? Тогда массив не будет создан и обращение к жлементу массива вызовет ошибку Это в свою очередь создает гораздо больше путанницы при попытке защититься от ненахода или коллизии id Вывод один, все же лучше использовать getElementById так как он всегда возвразает либо ноду либо null
ненаход xd))) getElementById лучше не использовать никогда, есть квери селектор
будешь использовать - о дубликате не узнаешь но будем честны, ты когда действительно думаешь, что будешь работать с двумя айди одинаковыми - это уже констатация факта, что что-то пошло не так и костыльные проверки теперь необходимость
Мы тут разгоняем тему что можно в JS просто указать перменную которая названа точно так же как id элемента и он найдет нужную ноду без getElementById И я потестил и своими руками понял почему это плохая затея
та не, такого быть не должно
Не совсем понял, чего именно
он тяжелее сильно
вкурсе, все равно гадость
тут да, я согласен, что мы редко пишем проверки на коллизию id надеясь на то что все вменяемые разработчики об этом знают, ну либо мы заметим ошибку уже по факту, кода получим не ту ноду
как бы не так, просто уметь надо использовать в нужный момент вряд ли ты встретишь такой кейс, где это надо будет оптимизировать
мои знания ванилы конечно довольно низки, но я бы руки оторвал челу который бы написал в коде getElementById, getElementByClassName getElementByTagName...
оторвал бы, потому что низки ДОМ очень ресурсоемкий, напиши мне пожалуйста, как ты будешь проверять наличие класса по клику у элемента, у которого каждый клик тогглит класс 'active'
А как тогда искать элементы?
ахахахха, на ваниле только петы пишут, ты не сможешь там загрузить дом так чтобы это почувствовать, если брать active средствами фреймворка то норм выйдет
Почему только петы? 🤔
чето ты слаб в познаниях юзкексов ваниллы, дружище, хочешь посмотреть на код на ванилле? давай не стесняйся, опиши мне проверку класса active в целом, без апи
А вообще чего ты на чела наехал, он может ещё жизни не нюхал. Только на своём первом стеке сидит работает на фреймворке
а шо показывать, я могу в нескольких словах объяснить почему и как
почему наехал сразу, мне интересно просто, шо за ярлыки
Я так, саркастично
я тебя обидел или не, скажи ему
а ты всё-таки скажи пару слов, как это можно сделать, ты ж на ванилле не пишешь, так что нечего стесняться
так покажешь? просто говорить юзать гетелементбайайди звучит как бред
Ну ты сам это... Посмотри, каждый раз когда капчу или free splash, js challenge и другие проверки на сайтах проходишь
опиши задачу еще раз
нет, тут айди не причем, но этот метод вполне себе допустим в каких-то крайне редких случаях
чем ты предлагаешь искать ноды начнем с этого?
Обсуждают сегодня