Javascript-форум (https://javascript.ru/forum/)
-   Сайт Javascript.ru (https://javascript.ru/forum/site/)
-   -   Подскажите статью на сайте javascript.ru (https://javascript.ru/forum/site/32069-podskazhite-statyu-na-sajjte-javascript-ru.html)

hrundel 02.10.2012 14:28

Подскажите статью на сайте javascript.ru
 
Подскажите, пожалуйста, статью на сайте javascript.ru, в которой говорится о проблеме в браузерах Inernet Explorer в случае, если в HTML-коде используются идентификаторы, содержащие знак минус. Эта проблема связана с тем, что IE создаёт объект из таких элементов, а в названиях переменных в javascript не разрешается знак минус.
Например такой идентификатор для IE не корректный:
<div id="extra-div"></div>

Искал эту статью, потому что раньше её читал, но так и не смог найти.

Skipp 02.10.2012 14:40

Потому что всё давно уже работает.
<input type="text" id="input-text" />
<input type="button" onclick="alert(document.getElementById('input-text').value)" />

hrundel 02.10.2012 15:37

Цитата:

Сообщение от Skipp (Сообщение 207721)
Потому что всё давно уже работает.
<input type="text" id="input-text" />
<input type="button" onclick="alert(document.getElementById('input-text').value)" />

Мне не интересно, что "сейчас всё работает". Я хочу найти ту статью, где есть упоминание о важной, на мой взгляд, вещи.

Skipp 02.10.2012 16:12

hrundel,
Вы пишите из прошлого века? Если так, то вам не повезло, гугл и вправду вряд ли что найдёт.

hrundel 02.10.2012 16:28

Skipp,
нет. Эта проблема просто очень мало описана. Ничего страшного нет, если кому-то будет известно об этой проблеме. Я сам натыкался на неё очень часто и только один раз увидел её описание в какой-то статье на этом сайте. Вот теперь хочу найти и может даже процитировать в своей статье.

Илья Кантор 02.10.2012 16:47

Есть статья про то, что переменные создаются, и их нельзя перезаписать, если не объявить через var. Про минус там ничего нет.

Сам я о проблемах "с минусом" не в курсе. Напишите, если что-то интересное.

Skipp 02.10.2012 17:02

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

hrundel 04.10.2012 01:37

Цитата:

Сообщение от Skipp (Сообщение 207772)
Да нету никаких проблем, они были в прошлом веке и давно уже не актуальны, совсем, и не стоит в своих статьях такое упоминать, ведь это реально был баг и его давно исправили, нечего засорять головы читателей.

Его не могли исправить. Это особенность Internet Explorer (по крайней мере старых версий этого браузера): создавать объекты из элементов, которым назначен атрибут "id".

hrundel 04.10.2012 01:42

Цитата:

Сообщение от Илья Кантор (Сообщение 207766)
Есть статья про то, что переменные создаются, и их нельзя перезаписать, если не объявить через var. Про минус там ничего нет.

Сам я о проблемах "с минусом" не в курсе. Напишите, если что-то интересное.

Ага, точно. Вроде та статья. Есть ссылка на неё? Сейчас подумал, что там про минус действительно ничего может не упоминаться. Вероятно сам додумал :). Просто думаю, если в названиях переменных в javascript нельзя использовать знак минус, то в таком случае их нельзя использовать в названиях идентификаторов для тегов, если из них делаются переменные.

monolithed 04.10.2012 01:46

Цитата:

Сообщение от hrundel
Его не могли исправить

У меня нет под рукой IE6, но в IE7 все в порядке:

<a href="#" id=":foo-foo__foo" onclick="alert(document.getElementById(':foo-foo__foo').innerHTML)">click</a>


тест


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