Как занести ссылку на элемент HTML
Здравствуйте Всем.
Есть вопрос: Как занести в переменную ссылку на элемент HTML
link = document.getElementById('ID');
Надо чтобы эта ссылка была доступна во всём сценарии JS, то есть в функциях и так далее. Помогите у меня пока не получается. |
Она и так доступна, если не объявлять переменую внутри замыкания.
|
Почему тогда не получается так:
a = document.getElementById('ID');
alert(a.value)
?? |
Значит, у элемента нет value.
|
Это input и у него точно есть значение. Сколько раз делал не выходит! Хотя так работает прекрасно работает:
a = document.getElementById('ID').value
alert(a);
|
Если у кого-то такое получилось, то скиньте плиз работающий код. Кокретно для input type=text
|
<input type="text" id="inp" value="Text" />
<script type="text/javascript">
var a = document.getElementById('inp');
alert(a.value);
</script>
Не знаю, через какой браузер вы смотрите, но у меня на опере 10.5 всё прекрасно работает. Да и на остальных тоже должно, ошибаться-то там негде. |
.... <body onload="alert(author_link.value);"> .... <label for="author">Имя</label> <input id="author" value="TEXT" type="text" class="txt" tabindex="1" size="22" name="author" /> ...
// отдельный файл JS
var author_link = document.getElementById('author');
НИХРЕНА НЕ РАБОТАЕТ, ни в Опере ни в Лисе и др. Понимаю что это воообще легкотня и основы, но почему -то упрямо не работает. |
Когда браузер прочитал JS-файл, он ещё не "дошёл" до вашего поля и поэтому выдаёт undefined (ну или вообще Error).
Правильно будет так:
<body onload="alert(author_link().value);">
…
<input id="author" value="TEXT" type="text" class="txt" tabindex="1" size="22" name="author" />
<!--
Тут ваш файл JS. В нём пишите:
function author_link() {
return document.getElementById('author');
}
-->
Или же можно воспользоваться событием onDOMContentLoaded |
Отлично, спасибо всё работает. Я использовал onDOMContentLoaded. Но к сожалению код стал огромным :(.
P.s. пишу сам AJAX и понимаю для чего придумали jQuery. Хоть я и являюсь его ярым противником. |
| Часовой пояс GMT +3, время: 07:50. |