|
Встроенные ID элементовОбсуждение темы Встроенные ID элементов в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Все прекрасно знают и умеют обращаться по явно заданному ID элемента черз document.getElementById(...) - но это ток для <... id='...' > и этот ... |
|
Опции темы |
13.01.2011, 14:45 | #1 |
|
Все прекрасно знают и умеют обращаться по явно заданному ID элемента черз document.getElementById(...) - но это ток для <... id='...' > и этот ID можно передать в функцию в виде строкового параметра...
А теперь внимание вопрос, существует ли некий НЕЯВНЫЙ ВСТРОЕННЫЙ ID элемента, который можно передать в функцию СТРОКОВЫМ/ЦЕЛОЧИСЛЕННЫМ параметром (НЕ ОБЪЕКТОМ)? Для примера, где такое может использоваться (пример простейший и я прекрасно понимаю, что в нем можно задать и явно ID, но меня интересует более общий вариант решения): Код HTML:
<a onClick='JavaScript:onClick(this)'>...</a> <script> function onClick(obj) { var ID = УНИКАЛЬНЫЙ_НЕЗАДАННЫЙ_ЯВНО_ID_OBJ; setTimeout('Click("'+ID+'")', 5000); } function Click(ID) { var obj = ПОЛУЧЕНИЕ_OBJ_ОБЪЕКТА_ПО_ID; ну и дальше собственно извращения с этим объектом... } </script> |
|
13.01.2011, 16:36 | #2 | |
|
вы это имели ввиду?
Цитата:
Последний раз редактировалось vladendark; 13.01.2011 в 16:39.. |
|
|
13.01.2011, 17:02 | #3 |
|
Нет, использование внешних библиотек, да еще и далеко не самых легких - нунаф =) И к тому же Вы неверно поняли вопрос...
Покумекал и простенько загнал - небольшой костылик, но рабочий и до одури простой... Код HTML:
getElementId = function(obj) { var pref = 'GlobalPrefix'; // настраиваемо var id = ''; try{ if(obj.id.length > 0) id = obj.id; else { var tmp = new Date().getTime(); while(document.getElementById(pref+tmp)) tmp++; id = pref+tmp; obj.id = id; }; }catch(e){id = null;}; return id; }; Код HTML:
<a onClick='JavaScript:onClick(this)'>...</a> <script> function onClick(obj) { setTimeout('Click("'+getElementId(obj)+'")', 5000); } function Click(ID) { var obj = document.getElementById(ID); ну и дальше собственно извращения с этим объектом... } </script> Собственно говоря и все - если у переданного объекта есть ID, то функа вернет его, если нет, то назначит уникальный и далее по нему можно пользовать стандартную getElementById(...) - может быть кому-то пригодится... Последний раз редактировалось zuart; 13.01.2011 в 17:04.. |
|
14.01.2011, 06:17 | #4 |
|
Можно вообще без ИД, но решение зависит от конкретной надобности.
В таблицах, формах достаточно одного ИД, чтобы различать их. Особенно хорошо при больших количествах элементов. |
|
14.01.2011, 13:11 | #5 | |
|
Цитата:
Как написал выше - нужна именно ОБЩНОСТЬ использования, чтобы можно было вызвать такую конструкцию с передачей ЛЮБОГО объекта в любом месте и в любом порядке... независимо от того, имеет ли этот элемент воообще какие-то атрибуты или нет |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Тестирование элементов интерфейсов | black-rabbit | Кальянная | 2 | 22.07.2014 11:45 |
Позиционирование элементов сайта | AspeR | HTML, CSS, JavaScript | 8 | 05.08.2012 09:35 |
форма с неизвестным количеством элементов | kostia | ASP, Perl, PHP и MySQL | 12 | 18.10.2011 11:57 |
Порядок загрузки элементов | MasMaX | HTML, CSS, JavaScript | 7 | 10.03.2006 10:17 |
Css: расположение элементов | KeTal | HTML, CSS, JavaScript | 4 | 27.01.2006 03:41 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|