Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2013, 18:33   #1
Voipp
Пользователь
 
Регистрация: 03.08.2009
Сообщений: 32
Лампочка DOM

DOM представляет собой возможность доступа к элементам страницы на javascript через понятный и привычный интерфейс. Но как это реализовано физически?
Voipp вне форума Ответить с цитированием
Старый 18.09.2013, 21:51   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Мб стоит почитать исходники хрома/фф? Или что именно интересует? Не понял вопроса.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 25.09.2013, 15:49   #3
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

На самом деле там не так уж тяжело.

Например: что бы изменить стиль любого элемента на странице (только после ПОЛНОЙ загрузки), нужно сначало обратиться к этому элементу.

Пример 1

<div id="info">Info<div>

обращаемся к нужному элементу в данном случае через его ID

var infoDiv = document.getElementById("info");

Теперь изменим ему отступ с верху.

infoDiv.style.marginTop = '20px';

Или в одну строку

document.getElementById("info").sty le.marginTop = '20px';

Таким способом можно изменить все что угодно
В именах используется только вербльюжя запись "Camel notation"

если нужно изменить background-color то запись будет такой
infoDiv.style.backgroundColor = 'red';

infoDiv.style.backgroundPosition = 'absolute';

infoDiv.style.backgroundImage = 'url('img/img.png')';

и т.д.

вообщем все что есть в CSS, ну или почти все, я сам не знаю ))
можно изменять таким способом через JS

================================

а если нужно добавить "на лету элемент" в другой элемент

Нужно его создать docement.createElement("element")
docement. значит что создан он будет для этого окна
createElement("div") такая встроенная функция которая на лету создает элемент

var newElement = docement.createElement("div"); или ("P") или ("span")

записываем в только что созданый элемент строку

newElement.innerHTML = "Info Plus"; я не уверен, но читал что так лучше не делать. Хотя сам использую


и теперь нужно его добавить к дереву DOM

Берем элемент к которому мы обращались выше, и вызываем у него метод/функцию

infoDiv.appendChild(newElement); добавить только что созданного "ребенка/элемента" в
<div id="info"></div>


и т.д.

Вообще про это лучше на ютубе посмотреть. Там очень много методов и свойств.

Все сразу не нужны конечно, но бывает ни как. Да и полезно просто знать какие вообще существуют.

<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 25.09.2013 в 15:53.
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает DOM far1towi4 JavaScript, Ajax 3 27.04.2013 23:28
HTML DOM Лубышев Работа с сетью в Delphi 8 02.09.2011 00:06
DOM php5 alexander1111 PHP 0 09.03.2011 22:56
TWebBrowser DOM KASioZ Работа с сетью в Delphi 0 11.12.2009 07:02
Дерево DOM fclmhooligan JavaScript, Ajax 1 24.11.2008 14:11