Как выполнить getElementById у результата getElementById?
Есть дом-элемент A. Нужно выполнить A.getElementById('id');
Т.е. нужен способ провернуть document.getElementById('id1').getElementById('id2').
Какие есть варианты?
Вариант, который предложил Константин Китманов: document.querySelector('#id1 #id2')
Он даёт абсолютно тот же результат, но вы поняется немного быстрее.
Вообще, интересно на досуге покопаться действительно ли это так. Вставка в DOM или просчёт лэйаута я понимаю, дорогие операции - но поиск элемента-то не должен быть сильно дорогим, кмк.
Алексей Уколов: ну поиск конечно дешевле относительно вставок и репейнтов/лэйаутов, но все равно на порядки дороже любого чистого JS (поэтому react такой быстрый, поэтому концепция virtual dom так популярна).
Мне, если честно, лень писать тест и выяснять. Может там и правда копейки, о которых нет смысла говорить в данном конкретном случае, но я уверен, что принцип корректен:)
Максим Бабичев: да в ангуляре у меня есть только native-элемент. Вылезать за пределы компонента не хочется, да и нет гарантии, что ID в документе может быть только один.
DTX: Ну вот для таких случаев есть классы. Их и искать можно у дочерних, и они могут быть не уникальны. Да и document в ангуляре тоже есть. И какая разница, от какого элемента искать?