169 похожих чатов

Кстати, а у меня по этому скрину с lernjs есть

вопрос

Они ьез поиска элемента сразу обращаются к id формы, это действительно работает или они просто скрыли объявление этих переменных и они лежать выше по скоупу вне видимости этого окошка?

36 ответов

111 просмотров

Не скрывали, элементы, у которых есть id создают в window ссылку на себя с таким же именем. Не знаю как правильно выразить мысль )

Семен-Пурнемцев Автор вопроса
Alexander G.
Не скрывали, элементы, у которых есть id создают в...

я потестил, это внатуре работает, это получается можно избавиться от поиска по id и сразу обращатся к элементу, прикольная штука даже не знал об этой фиче ))

Семен Пурнемцев
я потестил, это внатуре работает, это получается м...

Короче, сейчас не скажу точно, но проверь, что это работает в Safari, мне кажется у меня был с ними какой-то факап по этому поводу)

Семен-Пурнемцев Автор вопроса
Alexander G.
Короче, сейчас не скажу точно, но проверь, что это...

в сафари тоже пашет, может конечно на более старых версиях это и не прокатит

Семен-Пурнемцев Автор вопроса
Семен Пурнемцев
я потестил, это внатуре работает, это получается м...

я еще потестил и это работает супер криво и не стабильно, если образаться сразу к id то если id совпадут, он скажет что это массив из двух элементов а если искать через gtElementById он стабильно выдает первый который нашелся

Семен-Пурнемцев Автор вопроса
bandows dev
нормальное поведение как квериОлл

Я ожидал перезаписи значений, т.е. второй перезаписывает первый и будет найден, либо наоборот поиск первого который нашелся как в случае с getElementById Но он вместо этого учитывает тот факт что их несколько и создает массив и теперь не получится просто проверить есть он в дереве или нет, нужно еще обращаться к неу как к элементу массива А если он все же один? Тогда массив не будет создан и обращение к жлементу массива вызовет ошибку Это в свою очередь создает гораздо больше путанницы при попытке защититься от ненахода или коллизии id Вывод один, все же лучше использовать getElementById так как он всегда возвразает либо ноду либо null

Семен Пурнемцев
Я ожидал перезаписи значений, т.е. второй перезапи...

ненаход xd))) getElementById лучше не использовать никогда, есть квери селектор

Семен Пурнемцев
Я ожидал перезаписи значений, т.е. второй перезапи...

будешь использовать - о дубликате не узнаешь но будем честны, ты когда действительно думаешь, что будешь работать с двумя айди одинаковыми - это уже констатация факта, что что-то пошло не так и костыльные проверки теперь необходимость

Семен-Пурнемцев Автор вопроса
ramen
ненаход xd))) getElementById лучше не использовать...

Мы тут разгоняем тему что можно в JS просто указать перменную которая названа точно так же как id элемента и он найдет нужную ноду без getElementById И я потестил и своими руками понял почему это плохая затея

Семен-Пурнемцев Автор вопроса
ramen
та не, такого быть не должно

Не совсем понял, чего именно

bandows dev
он тяжелее сильно

вкурсе, все равно гадость

Семен-Пурнемцев Автор вопроса
Семен Пурнемцев
Мы тут разгоняем тему что можно в JS просто указат...

тут да, я согласен, что мы редко пишем проверки на коллизию id надеясь на то что все вменяемые разработчики об этом знают, ну либо мы заметим ошибку уже по факту, кода получим не ту ноду

ramen
вкурсе, все равно гадость

как бы не так, просто уметь надо использовать в нужный момент вряд ли ты встретишь такой кейс, где это надо будет оптимизировать

bandows dev
как бы не так, просто уметь надо использовать в ну...

мои знания ванилы конечно довольно низки, но я бы руки оторвал челу который бы написал в коде getElementById, getElementByClassName getElementByTagName...

ramen
мои знания ванилы конечно довольно низки, но я бы ...

оторвал бы, потому что низки ДОМ очень ресурсоемкий, напиши мне пожалуйста, как ты будешь проверять наличие класса по клику у элемента, у которого каждый клик тогглит класс 'active'

bandows dev
оторвал бы, потому что низки ДОМ очень ресурсоемк...

ахахахха, на ваниле только петы пишут, ты не сможешь там загрузить дом так чтобы это почувствовать, если брать active средствами фреймворка то норм выйдет

ramen
ахахахха, на ваниле только петы пишут, ты не сможе...

чето ты слаб в познаниях юзкексов ваниллы, дружище, хочешь посмотреть на код на ванилле? давай не стесняйся, опиши мне проверку класса active в целом, без апи

bandows dev
чето ты слаб в познаниях юзкексов ваниллы, дружище...

А вообще чего ты на чела наехал, он может ещё жизни не нюхал. Только на своём первом стеке сидит работает на фреймворке

ramen
ну покеж

а шо показывать, я могу в нескольких словах объяснить почему и как

0xEneroPl🦊
А вообще чего ты на чела наехал, он может ещё жизн...

почему наехал сразу, мне интересно просто, шо за ярлыки

ramen
ну попробуй

я тебя обидел или не, скажи ему

а ты всё-таки скажи пару слов, как это можно сделать, ты ж на ванилле не пишешь, так что нечего стесняться

так покажешь? просто говорить юзать гетелементбайайди звучит как бред

ramen
ну покеж

Ну ты сам это... Посмотри, каждый раз когда капчу или free splash, js challenge и другие проверки на сайтах проходишь

ramen
так покажешь? просто говорить юзать гетелементбайа...

нет, тут айди не причем, но этот метод вполне себе допустим в каких-то крайне редких случаях

Семен-Пурнемцев Автор вопроса
ramen
мои знания ванилы конечно довольно низки, но я бы ...

чем ты предлагаешь искать ноды начнем с этого?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта