DOM для чего и как использовать?

Автор helsik, 19-08-2015, 11:02:17

« назад - далее »

helsikTopic starter

Здравствуйте, прошу не кидать камнями, просто хочу разобраться для чего нужна DOM и как ее использовать? Я сделал уже 2 интернет магазина и 4 сайта, но нигде не использовал DOM.. по понятиям я смотрел в интернете, что это такое, но как его практически применить и для чего так и не понял.. кому не лень объясните пожалуйста. Спасибо за внимание.
  •  


helsikTopic starter

 81 просмотр и никто не в теме(( очень жаль..
  •  


Sevab

helsik, вам нужно было спросить в этом разделе (перенести?).

Вот определение в википедии.

Все это больше относится к яваскрипт и как следствие к аяксу. Если вы не собираетесь програмировать на этих языках (ну аякс конечно не язык, а производная от яваскрипт), то вам и не нужен дом.

По большому счету нужен для доступа к различным элементам страницы средствами яваскрипта.
Есть специальные сайты посвященные дом. Есть утилиты (в том числе браузерные) позволяющие просмотреть и получить доступ к различным элементам страницы или документа (напр. xml).

Один из вариантов применения, динамическое изменение страницы (или элементов страницы) уже после ее загрузки.
По времени, или по действию пользователя.

Старый

Значит вам это пока не нужно.  ;)
При этом не только вам конкретно, но и вашим посетителям и начальству.

Если хотите себе "геморрой", то стоит объяснить вашему начальству, как интересен буден DOM постоянным клиентам вашей компании.

Вам это нужно?
Если ответите утвердительно, то я вам попробую на пальцах объяснить, что это такое, с точки зрения программирования и администрирования.  :)

helsikTopic starter

Sevab, спасибо за развернутый ответ, просто в очередной раз работая через firebug увидел вкладку DOM (раньше почему-то не обращал на нее внимания) и подумал, что я возможно не использую какую-то удобную фишку в работе.. решил с ней разобраться. Кстати в планах начать учиться работе со скриптами, хотя-бы в базовом понимании..
  •  


Yama

Цитата: Старый от 20-08-2015, 23:55:20
то я вам попробую на пальцах объяснить
объясните  :) дополнительная инфа по этому вопросу не помешает... 

Andrewk74

#6
Попробую рассказать на простом языке.
Когда вы открываете firebag, то слева вы видите дерево структуры HTML. Нажатие на плюсик разворачивает ветку, минус - скрывает ее. По сути это и есть дерево DOM.
Что с этим можно делать?
Как писали выше, на языке Javascript или на популярном фреймворке JQuery есть простые команды, которые позволяют лазить по этому дереву и работать с его элементами (к примеру отломать ветку, или раскрасить ее).
Например на JQuery:
var elementik = $('#block'); - присвоит переменной elementik указатель на какой-то элемент с ID block. Сохранит ветку в переменную.
elementik.addClass('proverka'); - добавит этому элементу класс proverka. Ветку с классом уже можно будет раскрасить.
Так же можно вешать события (клик, ховер и т д) на элементы, можно бегать по дереву методами parent,children,next,prev, проходить циклами и еще кучу всего разного.
Очень популярные вещи, сделанные таким образом:
Активность пункта меню: берем url текущей страницы вида (/katalog/) пробегаемся циклом ссылкам верхнего меню, ищем совпадения в href в пунктах меню вида <a href="ссылка">Пункт меню</a>, если совпало - ставим класс active.
Раскрыть блок по нажатию на кнопку: вешаем на кнопку событие, что по клику на нее найти такой-то элемент и показать его.


Yama

я как оптимизатор скажу что в моем понимании DOM это и есть содержимое страницы, открывающееся на стороне браузера и задача моя, например, сейчас как заставить DOM грузится быстрее - не с 3,5 секунды а быстрее


helsikTopic starter

Цитата: Yama от 21-08-2015, 15:11:34
я как оптимизатор скажу что в моем понимании DOM это и есть содержимое страницы, открывающееся на стороне браузера и задача моя, например, сейчас как заставить DOM грузится быстрее - не с 3,5 секунды а быстрее
это довольно интересно, можно подробнее как это сделать?))
  •  


vold57

Цитата: Yama от 21-08-2015, 15:11:34
я как оптимизатор скажу что в моем понимании DOM это и есть содержимое страницы, открывающееся на стороне браузера и задача моя, например, сейчас как заставить DOM грузится быстрее - не с 3,5 секунды а быстрее

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