Я использую плагин jQuery Quicksand. Мне нужно получить идентификатор данных выбранного элемента и передать его веб-службе. Как мне получить атрибут data-id? Я использую .on()
метод для повторного связывания события click для отсортированных элементов.
$("#list li").on('click', function() {
// ret = DetailsView.GetProject($(this).attr("#data-id"), OnComplete, OnTimeOut, OnError);
alert($(this).attr("#data-id"));
});
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<ul id="list" class="grid">
<li data-id="id-40" class="win">
<a id="ctl00_cphBody_ListView1_ctrl0_SelectButton" class="project" href="#">
<img src="themes/clean/images/win.jpg" class="project-image" alt="get data-id" />
</a>
</li>
</ul>
javascript
jquery
custom-data-attribute
Брюс Адамс
источник
источник
on()
метод,live()
который сейчас не рекомендуется использовать, и этот вопрос привлекает немало посетителей.Ответы:
Чтобы получить содержимое атрибута
data-id
(как в<a data-id="123">link</a>
), вы должны использоватьили
.data()
(если вы используете более новую версию jQuery> = 1.4.3)и часть после
data-
должна быть в нижнем регистре, напримерdata-idNum
, не будет работать, ноdata-idnum
будет.источник
attr()
потому что jQuery удалял ведущие нули из почтовых индексов, используяdata()
TFM: «Начиная с jQuery 1.4.3, атрибуты данных HTML 5 будут автоматически извлекаться в объект данных jQuery ... Каждая попытка преобразовать строку в значение JavaScript (включая логические значения, числа, объекты, массивы и ноль). Значение преобразуется в число только в том случае, если это не меняет представление значения. Например, «1E02» и «100.000» эквивалентны в виде чисел (числовое значение 100), но их преобразование изменит их представление, поэтому они останутся в виде строк. "$(this).data().id //returns 123
Если мы хотим получить или обновить эти атрибуты, используя существующий собственный JavaScript , то мы можем сделать это, используя методы getAttribute и setAttribute, как показано ниже:
Через JavaScript
Через jQuery
Прочитайте эту документацию
источник
Важная заметка. Имейте в виду, что если вы динамически настраиваете
data-
атрибут с помощью JavaScript, он НЕ будет отражен вdata()
функции jQuery. Вы также должны настроить его с помощьюdata()
функции.ЯШ:
источник
Если вас не интересуют старые браузеры IE, вы также можете использовать API набора данных HTML5
HTML
JS
Демо: http://html5demos.com/dataset
Полный список поддерживаемых браузеров: http://caniuse.com/#feat=dataset
источник
Удивлен никто не упомянул
Вот рабочий пример: https://jsfiddle.net/ed5axgvk/1/
источник
HTML
JS
или
Работает для меня!
источник
Я использую $ .data - http://api.jquery.com/jquery.data/
источник
работает для меня!
источник
Доступ к атрибуту данных с его собственным
id
немного прост для меня.$("#Id").data("attribute");
источник
Этот фрагмент кода вернет значение атрибутов данных, например: data-id, data-time, data-name и т. Д., Я показал для id
ЯШ:
// получаем значение data-id -> a1
// это изменит data-id -> a2
// получаем значение data-id -> a2
источник
используя jQuery:
источник
Для тех , кто хочет , чтобы динамически удалить и повторно включить всплывающую подсказку, вы можете использовать
dispose
иenable
методы. См. Https://getbootstrap.com/docs/4.0/components/tooltips/#tooltipdispose.источник
У меня есть промежуток Я хочу взять значение атрибута data-txt-lang, который используется определенным.
источник
Проблема в том, что вы не указываете опцию или выбранную опцию из выпадающего списка или списка. Вот пример выпадающего списка, я предполагаю запись данных атрибута данных.
источник