Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2009, 12:44
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Любое свойство DOM-узла == его атрибут
Возможно многие это знают уже давно, но вот я заметил это относительно недавно.

Не для кого не секрет, что любому DOM-узлу мозно прикрутить любое пользовательское свойство:
var ele=document.getElementById('id');
ele.userProperty=true;

И это иногда бывает действительно удобно, особенно в обработчиках событий. Но, если браузеры Mozilla, Opera ect. "знают" какие свойства-атрибуты есть у узлов, то IE прикручивает такие вещи непосредственно как аттрибут. Это можно посмотреть в IE8->средства разработчика и в IETester->дебаггер причём для всех версий. Возможно, это как-то связано с особенностью DOM-модели IE...
Сначала меня это сильно смутило - а не возникнут ли какие-либо конфликты с этим, не считая того, что код уже невалиден. И вообще - это нормальный приём - использовать DOM для хранения чего-либо своего.
Вот собственно в этом и вопрос. Ваши мнения?!
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2009, 12:47
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Ещё хотел бы добавить:
Пути решения я смогу найти всегда - меня интересует именно этот подход.
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2009, 12:49
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Скорее наоборот: атрибуты приравнены к свойствам.

Сообщение от B~Vladi
не считая того, что код уже невалиден
А как то, что присваивается в JavaScript, связано с валидацией?

http://xpoint.ru/know-how/JavaScript/Atributyi?8 зубрить.
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2009, 12:56
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от B~Vladi
это нормальный приём - использовать DOM для хранения чего-либо своего
Очень часто это сильно облегчает жизнь, главное не напороться на что-то занятое.
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2009, 12:59
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
А как то, что присваивается в JavaScript, связано с валидацией?
Получается примерно так:
<div userData=true action="function(){}"></div>

И это не есть валидно.
Сообщение от Riim
Очень часто это сильно облегчает жизнь
Да, я про это упоминал и полностью согласен.
Сообщение от Riim
главное не напороться на что-то занятое.
Вот я и пытаюсь выяснить - на что же можно напороться?!
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2009, 13:03
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
http://xpoint.ru/know-how/JavaScript/Atributyi?8 зубрить.
Цитата:
Internet Explorer 7.0, который должен скоро выйти, вряд ли улучшит ситуацию, серьезных улучшений движка до версии 8.0 точно не будет (да и там это еще очень сомнительно)
Как видно - ничего не поменялось
Ответить с цитированием
  #7 (permalink)  
Старый 01.09.2009, 13:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
Получается примерно так:
Где получается? HTML-код страницы не меняется. А то что выдает innerHTML в любом случае валидацию не пройдет, тем более иешный.
Ответить с цитированием
  #8 (permalink)  
Старый 01.09.2009, 13:24
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Где получается?
Сообщение от B~Vladi
Это можно посмотреть в IE8->средства разработчика и в IETester->дебаггер причём для всех версий.
Сообщение от Kolyaj
HTML-код страницы не меняется.
Дк в том-то и дело, что меняется!!!
Ответить с цитированием
  #9 (permalink)  
Старый 01.09.2009, 13:25
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
А то что выдает innerHTML в любом случае валидацию не пройдет, тем более иешный.
Не факт.
Ответить с цитированием
  #10 (permalink)  
Старый 01.09.2009, 13:29
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
Дк в том-то и дело, что меняется!!!
Меняется innerHTML.

Сообщение от B~Vladi
Не факт.
Интересное заявление. И на чем оно основано?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DOM vs iframe. Как в ифрейме заменить выделенный текст (его innerHTML)? Бухалыч Events/DOM/Window 4 20.08.2009 14:30
DOM в IE. Не получается создать атрибут name SiZE Events/DOM/Window 1 04.05.2009 11:30