Page 294 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 294

и
       Немного терм н ологии
          Концепция дерева проста и  интуитивно понятна,  что  ведет  к интуитивно по­
       нятной терминологии. Родитель узла - это его прямой (direct) предок (т.е. не "де­
                                                                  )
       душка"), а дочерний узел - это прямой потомок (т.е. не "внук" .   Термин потомок
       (descendant) используется для описания дочернего или дочернего для дочернего узла
       или еще более дальнего. Термин предок (ancestor) используется для описания родите­
       ля, родителя родителя и т.д.

       Методы-получатели модели               DOM

          Модель DOM предоставляет методы-получатели  (get . . .   ), которые позволяют
       быстро находить определенные элементы HTML.
                                             e
                                                           n
                                                  g
          Первый  из  них  - это  метод  docum n t .  e t E l e me t B y i d .  Каждому  НТМL­
       элементу на веб-странице может быть присвоен уникальный идентификатор, а метод
       document . getElementByid позволяет получить этот элемент по его идентификатору.
                                     t

       document . getElementByid ( ' conten ' )  ;    / /   <div  id="conte t " >  . .  . </div>
                                                          n
                  Браузеры не делают ничего для проверки уникальности идентифика­
                  торов (хотя НТМL-валидатор эти проблемы учитывает), поэтому со­
                  блюдение уникальности идентификаторов возложено исключительно
                  на вас. Поскольку создание веб-страниц (с компонентами, получае-
                  мыми из разных источников)  становится все более и более сложной
                  задачей,  все более и  более усложняется задача избежания  повторов
                  идентификаторов. Поэтому я рекомендую использовать идентифика­
                  торы экономно и очень внимательно.
          Метод  document . getElementsByClas sName  возвращает  коллекцию  элементов,
       у которых есть заданное имя класса.
                              t
                                                             t
       const  callouts  =  docurnen . getElementsByClassName ( ' callou ' )  ;
          Метод document . getElementsByTagName возвращает коллекцию элементов, у ко­
       торых есть заданное имя дескриптора.

       const  paragraphs  =  docurnent . getElementsByTagName ( ' p ' ) ;
                  Все методы DOM, которые возвращают коллекцию, фактически воз­
                  вращают не массив JavaScript, а экземпляр объекта HTMLCollection,
                  который "подобен массиву':  Вы можете перебрать его в  цикле  for,
                  но  методы Array . prototype  (такие, как map,  fil ter  и  reduce),  не
                  будут доступны. Вы можете  преобразовать объект HTMLCo l e ction
                                                                        l
                                                                   .
                  в  массив,  используя  оператор  р а сширения  [  . .   d o c u m n t .
                                                                            e
                  getElementsByTagName (р) ] .
                                                           Немного терминологии   297
   289   290   291   292   293   294   295   296   297   298   299