Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Любое свойство DOM-узла == его атрибут (https://javascript.ru/forum/css-html-internet-explorer/4944-lyuboe-svojjstvo-dom-uzla-%3D%3D-ego-atribut.html)

B~Vladi 01.09.2009 13:35

Цитата:

Сообщение от Kolyaj
Меняется innerHTML.

Меняется сгенерированный HTML-код, т.е. то, с чем работает IE в данный момент, а что там innerHTML выводит - неважно.
Цитата:

Сообщение от Kolyaj
Интересное заявление. И на чем оно основано?

innerHTML может и преобразует сам там чего-то (регистр тегов, например), я же говорю про тот код, который в памяти лежит - например тот, который отсылает опера на w3c.

Kolyaj 01.09.2009 14:23

Цитата:

Сообщение от B~Vladi
Меняется сгенерированный HTML-код

Это и есть innerHTML.

Цитата:

Сообщение от B~Vladi
например тот, который отсылает опера на w3c.

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

Riim 01.09.2009 14:32

html при парсинге преобразуется в javascript-объекты (ну, не совсем javascript) и html-валидация к ним никакого отношения уже не имеет. Думать о валидации нужно до парсинга, для того она и придумана, что бы этот парсинг прошел удачно (если валидатор все понял, то и парсер браузера поймет).

B~Vladi 01.09.2009 14:44

Цитата:

Сообщение от Kolyaj
Во-первых, она отправляет исходный код.

Не исходный, а сгененированный.
Цитата:

Сообщение от Kolyaj
Во-вторых, при чем здесь опера

Суть та же.
Цитата:

Сообщение от Riim
html-валидация к ним никакого отношения уже не имеет

А может имеет. Всовывая innerHTML парсер ведь обрабатывает его так же как и исходный.

Kolyaj 01.09.2009 15:16

Цитата:

Сообщение от B~Vladi
Всовывая innerHTML парсер ведь обрабатывает его так же как и исходный.

Парсер и валидатор это вообще разные вещи. Валидатор -- это писькомерка такая у вебмастеров, имеющий лишь косвенное отношение к реальности. Другими словами, валидатор нам как бы говорит, что якобы возможно если всем повезет и все будут себя хорошо вести, то эта страница будет нормально отображаться в следующих версиях браузеров. А и ИЕ8 как плевал на стандарты, так и плюет.

Цитата:

Сообщение от B~Vladi
Суть та же.

Не та же. Мы о ИЕ говорим.

B~Vladi 01.09.2009 15:21

Цитата:

Сообщение от Kolyaj
Парсер и валидатор это вообще разные вещи.

Спасибо, напомнил:)
Цитата:

Сообщение от Kolyaj
А и ИЕ8 как плевал на стандарты, так и плюет.

Вот тут неправда:)

Меня волнует валидность, ок?:)
Я просто пытаюсь понять - какая палка тут может вылезти. Мне не нравится, что в HTML (innerHTML) появляются левые атрибуты и ещё левее их свойства в ИЕ.
Вас это не беспокоит?! Или вы не знали?!

Kolyaj 01.09.2009 15:31

Цитата:

Сообщение от B~Vladi
Меня волнует валидность, ок?

Да пожалуйста. Я атеист, но нормально отношусь к религиозным людям :) Но при чем здесь JavaScript?

Цитата:

Сообщение от B~Vladi
Я просто пытаюсь понять - какая палка тут может вылезти.

Палка может вылезти с другой стороны, которую ты упорно игнорируешь. Ссылку на xpoint вызубрил? Еще на javascript.ru где-то была статья от Ильи, но она местами некорректна.

Цитата:

Сообщение от B~Vladi
Мне не нравится, что в HTML (innerHTML) появляются левые атрибуты и ещё левее их свойства в ИЕ.

Еще в innerHTML кавычки пропадают, и слеши завершающие у одиночных тегов. Это не смущает?

Цитата:

Сообщение от B~Vladi
Вас это не беспокоит?

Не более, чем куча других фичей/багов браузеров.

Я сейчас не могу вспомнить конкретных случаев из практики, где я натыкался на эту особенность, но они были и не раз. И если бы я не знал об этой особенности ИЕ, баг бы искал долго и упорно.

B~Vladi 01.09.2009 15:40

Цитата:

Сообщение от Kolyaj
Я атеист, но нормально отношусь к религиозным людям Но при чем здесь JavaScript?

:D а причём тут религия?
А JS тут как раз и причём. Это же результат его работы в ИЕ:)
Цитата:

Сообщение от Kolyaj
Ссылку на xpoint вызубрил?

Так точно!
Цитата:

Сообщение от Kolyaj
Это не смущает?

Смущает, но в дебагере этого нет!!!

Мы можем сделать вывод?! Не стоит на это обращать внимание, или лучше не хранить что-то в DOM?!

Kolyaj 01.09.2009 15:50

Цитата:

Сообщение от B~Vladi
Мы можем сделать вывод?! Не стоит на это обращать внимание, или лучше не хранить что-то в DOM?!

Обращать на это внимание нужно, но в другом аспекте. Например, не пользоваться без сильной надобности методами setAttribute/getAttribute.

Riim 01.09.2009 15:51

Наверно речь о том что если записать в свойство объект, то при:
var d = el.innerHTML;
el.innerHTML = d + 'text';


вместо объекта получится что-то неизвестное, ведь в "d" может быть только строковое (неполноценное) представление объекта.


Часовой пояс GMT +3, время: 02:28.