|
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 17
|
|
Почему document.getElementById(value) возвращает null?07.02.2013, 22:17. Показов 11779. Ответов 14
Метки нет (Все метки)
почему такое может происходить ?
элемент с таким id существует. а вот функция возвращает null. помогите пожалуйста.
0
|
|
| 07.02.2013, 22:17 | |
|
Ответы с готовыми решениями:
14
Document.getElementById возвращает null document.getElementById() Определение браузера (document.getElementById && !document.all ? 1 : 0;) |
|
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 17
|
||||||||||||||||||||||||||
| 07.02.2013, 23:10 [ТС] | ||||||||||||||||||||||||||
|
у меня есть картинки
так вызываю функцию
причём
а вот
0
|
||||||||||||||||||||||||||
|
В экстазе
|
||||||
| 07.02.2013, 23:34 | ||||||
|
Немного исправил код, т.к. переменная i не была инициализирована, а переменные image_now и image_now создавались внутри функции, при этом вызывались за их пределами. Код конечно "сырой" и написан исключительно для примера того, что все работает.
Код: Кликните здесь для просмотра всего текста
Добавлено через 3 минуты Вообще, для таких вещей я бы порекомендовал воспользоваться библиотекой JQuery, в ней все операции типа "Найти элемент по ID", скрыть/показать элемент, установить прозрачность элемента, и пр. делаются в одну строку кода, причем сразу по несколько операций! Например, найти элемент по ID, найти картинку которая в данный момент видна (отображается), скрыть ее, найти следующую за ней и показать её - делается в одну строчку кода, при желании, при этом намного удобнее, нежели писать это руками + кроссбраузерно.
0
|
||||||
|
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
|
||||||||||||||||
| 08.02.2013, 01:02 | ||||||||||||||||
Правильный вариант такой, и то только втом случае. если вы считываете именно значение с поля input:
0
|
||||||||||||||||
|
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
|
||
| 08.02.2013, 09:11 | ||
|
для того чтобы написать эту самую одну строчку, нужно прицепить несколько десятков килобайт неиспользуемого кода, самообман это и не забываем, все библиотеки написаны на JS ИМХО.
0
|
||
|
В экстазе
|
|||||||
| 08.02.2013, 10:49 | |||||||
|
newJS, всё разумеется так, но стоит так же обратить внимание на факт, что например JQuery хоть и занимает ~35Кб в сжатом виде (~90Кб без сжатия) - грузится все лишь 1 раз, особенно если автор сайта утрудил себя сделать ссылку для загрузки на Google, а не "куда-то", то есть очень большая вероятность, что этот "ненужный" код уже есть в кэше браузера. Плюс ко всему, указанную библиотеку активно используют Google, Яndex, Microsoft и многие другие "мамонты".
Так же, на счёт конечного размера: даже при условии полной загрузки библиотеки в несжатом виде (~90Кб), загружаться она будет всё равно, всего 1 раз для всего сайта, дальше будет работать из кэша. Из личного опыта могу сказать, что 90Кб, это не так много даже для тех, кто волей судьбы сидит на USB-модеме. В большинстве случаев, основной объём загрузки занимает графика, а не JQuery. Ну или другой пример из жизни. На главной странице яндекса подключена JQuery. Я ещё не встречал человека, который бы не пользовался яндексом по тому, что у него слишком много JQuery грузится на главной, которая слишком много весит... И опять таки, даже всеми любимый яндекс, даже с учётом своей патологической мании оптимизации кода (обусловленного значительным снижением нагрузки на сервер, за счёт оптимизации) не гнушается использовать JQuery. Я думаю, кому-кому, а им точно было из чего выбрать (или написать самостоятельно, свой собственный код). *Кстати, наш форум тоже использует JQuery. Говоря про ~90/35Кб я имел в виду последнюю версию библиотеки, если совсем сильно "приспичило", можно взять старую её версию которая занимает меньше 50/20Кб, если и это слишком круто, то можно поискать ещё более старую версию. Но если и это не поможет, тогда лучше всего менять провайдера, однозначно. Либо, пора менять менять свой DialUp модем 14.4Кбит на хотя бы USB-модем что ли... Ещё можно затронуть тему кроссбраузерности. Если на сайте требуется большое кол-во разносортных эффектов, я сомневаюсь, что в написании своего собственного кода "с нуля", будет какая-то выгода. А если каждый начнет свой слайдер, ЛайтБокс и пользовательский интерфейс - будет делать свой собственный? На мой взгляд отрицать полезность подобных библиотек можно только в случае, наличия достойной для них замены. Как-то примерно так: "Хлам ваш JQuery, я вот тут лучше либу сделал". А писать свой код постоянно, под каждый "пшик", это не серьёзно. Настолько не не серьёзно, насколько весь подряд софт на ассемблере. К тому же, мне кажется, автор интересовался непосредственно вопросом "как сделать?", про объёмы кода и пр. условия автор ничего не говорил... ![]() Добавлено через 5 минут
0
|
|||||||
|
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
|
||
| 08.02.2013, 12:22 | ||
|
код расположен выше элемента. Это может происходить, если он сразу исполняется при загрузке странице, а не при клике к примеру, когда уже все загрузилось. А вообще мой совет ТС, используйте фремворк jQuery. newJS, ты не прав.Я сам не любитель использовать фремворки/библиотеки, но JS это не тот случай. JS - это такой нервный язык, в нем даже нет некоторых основных функций в нормальном виде. Вы говорите, что кода много, а Вы не забывайте, что этот код исполняется на стороне клиента, и поверьте он не забьет проц этим. даже самого слабого компа. Так что не надо беспокоится по этому поводу.
0
|
||
|
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
|
|
| 08.02.2013, 20:23 | |
|
Любая библиотека это зло, ни когда не понимал зачем ради экономии десятка байт цеплять заведомо неиспользуемые несколько десятков килобайт.
0
|
|
|
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
|
||
| 08.02.2013, 23:28 | ||
|
0
|
||
|
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
|
||||
| 09.02.2013, 07:20 | ||||
|
Еще раз напоминаю, jQuery написан на JS, а не на другом языке, значит вышеприведенная цитата не имеет права на жизнь. И вообще, для библиотек есть свои разделы.
0
|
||||
|
В экстазе
|
|||||
| 09.02.2013, 08:12 | |||||
|
Из поста выше, можно сделать вывод, что те кто работают в гугле и яндексе - ничего не смыслят в своей работе. Они активно используют JQuery, видимо по тому, что не знают JavaScript... и Microsoft туда же! Разумеется, постоянно скачивать килобайты разношерстного JS-кода, "оптимизированного" (созданного) под разные "конкретные" задачи, куда лучше чем 1 раз скачать JQuery (~35Кб) и использовать её в последствии из кэша браузера. Основываясь на выше написанном (посте), невольно напрашивается вывод, что либо авторы JQuery либо плохо знают язык, и библиотека написана безграмотно. Либо, повторное использование кода - зло. Соответственно и ООП как таковое зло. А мировые гиганты интернет-индустрии (список выше) - вообще исчадия ада, т.к. они заставляют людей скачивать лишние 35Кб JS-кода... хуже того, они ещё и картинки юзают на сайтах, которые вообще страшно засоряют трафик, и не дают другим (которые в интернет вышли "по делу") нормально работать! Даёшь эру 14.4Кбит и DialUp-модемы! Добавлено через 8 минут Мне кажется, нужно решать проблему "от корня". Давайте тогда уж закроем все торренты, соц. сети, отменим картинки на сайтах, и обязательно закроем видео-сервисы, типа ЮТуба, т.к. они создают куда-больший трафик, нежели злощастная JQuery со своими 35-ю килобайтами... Введём обязательное сжатие веб-страниц, что бы трафик экономился, и самое главное, отменим все двухбайтовые кодировки, типа UTF, т.к. они увеличивают размер страницы вдвое... Добавлено через 8 минут И ещё один не маловажный момент, раз уж мы так свято чтим интересы 0.1% пользователей с модемами на 14.4, я думаю, тогда стоит подумать и об 1% пользователей, которые до сих пор юзают IE6, а есть ещё и те, кто всякие IE5 юзает, и другие браузеры. А у некоторых JavaScript вообще отключен, давайте тогда уж совсем от него откажемся, ведь около 1% пользователей вообще отключили JS в браузерах (а в некоторых браузерах, даже нет его поддержки), давайте о них заботится!
0
|
|||||
|
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
|
|||
| 09.02.2013, 12:08 | |||
|
Вы реально придираетесь к вещам, которым не стоит уделять внимание. Вы сравниваете 1 на 1000. Когда мы пишем php код, надо думать, то за 1 сек может происходит тысячи подключений к веб-серверу, и разница есть когда мы используем метод занимающий 0,5сек на выполнение и метод занимающий 0,3 сек на выполнение. Потому что если посчитать, то выходит: 1000 обращений за 1сек при 0,5 = 500мс 1000 обращений за 1сек при 0,3 = 300мс Разница в 200мс. А бывает по 5к+ обращений, смотря что за портал. А JS - он выполняется на стороне клиента. неужели 1 даже самый сра**ый комп не выдержит его ниочемошной нагрузки? Повторюсь, вы думаете ни о том, чем нужно думать. Вы конкретно неправы, поменяйте свои приоритеты, пересмотрите все.
0
|
|||
|
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
|
||
| 09.02.2013, 21:18 | ||
|
и не надо цифры приводить, они действительны только там где хорошая связь, а для тех кто не понял, повторю, в России хорошая связь это роскошь, а в основном только название. При отвратительной связи все эти выкладки дохнут как мухи осенью.
0
|
||
|
10 / 10 / 1
Регистрация: 25.10.2012
Сообщений: 364
|
|||
| 09.02.2013, 21:52 | |||
На сегодня инета нет у того, кому он напрочь не нужен.
0
|
|||
| 09.02.2013, 21:52 | |
|
Помогаю со студенческими работами здесь
15
Document.getElementById не работает Javacript.document.getElementById
Чем заменить document.getElementById Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|