Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как вывести <input> (https://javascript.ru/forum/misc/53163-kak-vyvesti-input.html)

devote 23.01.2015 17:54

danik.js,
первый совпавший... просто берут самый верхний в списке и его юзают..

Deff 23.01.2015 22:05

Цитата:

Сообщение от danik.js
А как там написано разруливать document.getElementById - первый или последний возвращать?
А к какому элементу скролить при переходе по url#anchor?
А на какой элемент ссылаться должна магическая переменная window.myId? А на какой элемент должна ссылаться метка <label for> ?

Ну меня достаточно часто такая ситуация встречается, поскольку на бесплатных форумах ставят кучку актуальных скриптов каждый админ своё и что-то общее с поддержки, частенько придумывают id которые совпадают. По опыту, браузеры обращаются к первому элементу на странице с требуемым id

veltony 24.01.2015 21:42

Решил использовать data-target в инете нашел.
<input data-target="#name">
<div id="name"></div>
Все работает, даже в IE.
Хотел поинтересоваться у специалистов насколько это правильно и какие здесь есть подводные камни.

С ув.

danik.js 24.01.2015 22:42

Цитата:

Сообщение от veltony
data-target в инете нашел

Это пользовательские атрибуты data-*

data-pizdata
data-borodata

Можешь назвать как хочешь, главное чтобы начиналось с data-.
На самом деле можешь игнорировать это правило, проблема будет только в невалидности HTML и возможном конфликте имен.

Пользовательские атрибуты работают везде, даже в IE5.5
Правда в новых (HTML5) браузерах к ним упрощен доступ из js:

var input = document.querySelector('input');
var target = input.dataset.target; // вместо input.getAttribute('data-target')


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