Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2013, 19:11
Аватар для js_explorer
Новичок на форуме
Отправить личное сообщение для js_explorer Посмотреть профиль Найти все сообщения от js_explorer
 
Регистрация: 15.01.2013
Сообщений: 2

Разница между my_id и document.getElementById('my_id')
Здравствуйте,

В чем разница между обращением
my_id
и
document.getElementById('my_id')


Чтобы лучше понять мой вопрос предлагаю просмотреть следующий код (оба примера работают):

<html>
	<head>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	</head>
	<body>
		<!-- Пример 1 -->
		<b>Пример 1</b>
		<input id="in_text_1" type="text" value="test text 1" >
		<button onclick="out_div_1.innerHTML = in_text_1.value">test 1</button>
		<div id="out_div_1">&nbsp;</div>
		<br>
		
		<!-- Пример 2 -->
		<b>Пример 2</b>
		<input id="in_text_2" type="text" value="test text 2" >
		<button onclick="document.getElementById('out_div_2').innerHTML = document.getElementById('in_text_2').value">test 2</button>
		<div id="out_div_2">&nbsp;</div>
	</body>
<html>


Пробовал в Chrome v23, Firefox v18, Opera v12.12, IE v8 - работает везде.

Зачем использовать конструкцию:
document.getElementById('my_id').value
если можно с тем же успехом писать
my_id.value
?

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2013, 19:49
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

а старые версии этих браузеров?
Это иешный стандарт, ранее не был реализован в этих браузерах.
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2013, 20:03
Аватар для zilker
Профессор
Отправить личное сообщение для zilker Посмотреть профиль Найти все сообщения от zilker
 
Регистрация: 30.07.2011
Сообщений: 189

1. В IE < 9 если вы захотите переопределить такую переменную - получите ошибку
2. Такие переменные глобальные
Ответить с цитированием
  #4 (permalink)  
Старый 18.01.2013, 12:54
Аватар для js_explorer
Новичок на форуме
Отправить личное сообщение для js_explorer Посмотреть профиль Найти все сообщения от js_explorer
 
Регистрация: 15.01.2013
Сообщений: 2

Из ваших коментариев напрашивается вывод:
Короткая форма типа my_id.value:
  1. IE-шный стандарт;
  2. Теперь уже реализовано в остальных браузерах;
  3. Это глобальные переменные;

То есть теоретически это можно использовать или кроме того что не работает в IE < 8 (я не проверял, у кого есть возможность проверить отпишитесь пожалуйста) есть что-то ещё?

Последний раз редактировалось js_explorer, 18.01.2013 в 12:56.
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2013, 16:10
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

..
4. Это стандартизируется w3c whatwg (к моему удивлению) : http://www.whatwg.org/specs/web-apps...ndow-nameditem

ПОПРАВКА: whatwg - не w3c.

Последний раз редактировалось danik.js, 18.01.2013 в 16:14.
Ответить с цитированием
  #6 (permalink)  
Старый 03.04.2013, 17:47
Новичок на форуме
Отправить личное сообщение для rodgenk Посмотреть профиль Найти все сообщения от rodgenk
 
Регистрация: 03.04.2013
Сообщений: 1

Замучался искать ответ на такой же вопрос.
Актуальный ответ нашел только здесь.
Спасибо за ответы.

Подводя итог:
1. До IE < 8 не работает.
2. Почему не стоит использовать "глобальные переменные" написано здесь: http://javascript.ru/tutorial/founda...last-vidimosti
3. Это стандартизируется w3c whatwg http://www.whatwg.org/specs/web-apps...ndow-nameditem

Использовать можно, но осторожно.
Ответить с цитированием
  #7 (permalink)  
Старый 03.04.2013, 17:53
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от rodgenk
1. До IE < 8 не работает.
Проверил. Работает вроде.
Сообщение от rodgenk
Почему не стоит использовать "глобальные переменные"
Гы, если они уже созданы браузером, то почему бы не использовать то? Но стоит помнить что могут быть конфликты.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Какая разница между модулями DOM Level 2 и интерфейсами Node? dump Общие вопросы Javascript 3 09.08.2012 17:22
Какая разница между post запросами jquery и ajax? Rooner jQuery 2 18.06.2012 14:29
Какая разница между определениями функций Nadine Общие вопросы Javascript 1 07.03.2012 16:07
Разница между (function(){})() и (function(){}()) ruzzx Общие вопросы Javascript 6 17.04.2011 22:51
Разница между датами Amour Общие вопросы Javascript 4 29.03.2011 21:01