jQuery - Как добавить атрибуты данных HTML 5 в DOM - PullRequest
14 голосов
/ 10 мая 2011

Я пытаюсь добавить атрибут данных HTML 5 в DOM.Я видел на сайте jQuery формат для атрибутов данных:

$('.pane-field-related-pages ul').data("role") === "listview";

Но, похоже, это ничего не добавляет в DOM?

Как добавить указанную выше роль данных всвязанный тег ul?

Ответы [ 3 ]

18 голосов
/ 10 мая 2011

Читать эта статья

Из статьи


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"});
4 голосов
/ 18 апреля 2013

В соответствии с документацией для .data () в Jquery API, вам нужно сделать это, чтобы установить его:

$('.pane-field-related-pages ul').data("role", "listview");

И это, чтобы проверить это:

$('.pane-field-related-pages ul').data("role");
2 голосов
/ 10 мая 2011

В дополнение к ответу diEcho у вас есть 2 метода data () в jQuery.

Первый подробно описан в ответе @diEcho, вы применяете .data () к выбору jQuery, это геттер с одним аргументом и сеттер с более чем одним аргументом.

Второй метод - jQuery.data () , применяемый непосредственно к jQuery. Он принимает еще один аргумент в первой позиции, элемент DOM (если у вас есть выбор jQuery, выполните get (0), вы получите элемент DOM).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...