JQuery - Как добавить атрибуты данных HTML 5 в DOM
Я пытаюсь добавить атрибут данных HTML 5 в DOM. Я видел на сайте jQuery формат атрибутов данных:
$('.pane-field-related-pages ul').data("role") === "listview";
Но это, кажется, ничего не добавляет в DOM?
Как добавить указанную выше роль данных в соответствующий тег ul?
Ответы
Ответ 1
Прочитайте эту статью
Из статьи
jQuery.com - "Метод .data() позволяет нам прикреплять данные любого типа к элементам DOM безопасным способом от круговых ссылок и, следовательно, от утечек памяти."
С введением HTML5 мы можем используйте его как атрибут. Для Пример
<div data-role="page" data-hidden="true" data-options='{"name":"John"}'></div>
//We can call it via:
$("div").data("role") = "page";
$("div").data("hidden") = true;
$("div").data("options").name = "John";
альтернативный путь
$("div").data("role", "page");
$("div").data("hidden", "true");
$("div").data("role", {name: "John"});
Ответ 2
Согласно документации для .data() в JQuery API, вам нужно сделать это, чтобы установить ее:
$('.pane-field-related-pages ul').data("role", "listview");
И это, чтобы проверить это:
$('.pane-field-related-pages ul').data("role");
Ответ 3
В дополнение к запросу diEcho у вас есть 2 метода data() в jQuery.
Первый из них добавлен в ответ @diEcho, вы применяете . data() к выбору jQuery, это получатель с одним аргументом и сеттер с несколькими аргументами.
Второй метод jQuery.data(), применяемый непосредственно к jQuery. Он принимает еще один аргумент в первой позиции, элемент DOM (если у вас есть выбор jQuery, get (0) вы получаете элемент DOM).