.data()

Metoda .data() pozwala nam na odczytanie danych wcześniej powiązanych z elementami DOM. Możemy pobrać kilka różnych wartości dla pojedynczego elementu po kolei, lub jako zestaw:

1
2
3
4
5
6
7

Wywołanie .data() bez parametrów zwraca obiekt JavaScript zawierający każdą przechowywaną wartość jako właściwość. Obiekt ten może być użyty bezpośrednio do uzyskania wartości danych (ale należy pamiętać, że nazwy właściwości pierwotnie zawierające myślniki zostaną zmodyfikowane w sposób opisany poniżej).

Od czasu jQuery 3, każda dwuznakowa sekwencja „-” (U+002D), po której następuje mała litera ASCII w kluczu, jest zastępowana dużą wersją tej litery, zgodnie z HTML dataset API. Stwierdzenie takie jak $( "body" ).data( { "my-name": "aValue" } ).data(); zwróci { myName: "aValue" }.

HTML5 data-* Atrybuty

Od wersji jQuery 1.4.3 atrybuty data-* są używane do inicjalizacji danych jQuery. Atrybuty data-* elementu są pobierane przy pierwszym wywołaniu metody data() na elemencie, a następnie nie są już dostępne ani mutowane (wszystkie wartości są przechowywane wewnętrznie przez jQuery).

Podejmowane są wszelkie próby konwersji wartości łańcuchowej atrybutu na wartość JavaScript (obejmuje to znaki logiczne, liczby, obiekty, tablice i null). Łańcuch jest konwertowany na liczbę tylko jeśli nie zmienia to jego reprezentacji (na przykład, łańcuch „100” jest konwertowany na liczbę 100, ale „1E02” i „100.000” są pozostawiane jako łańcuchy, ponieważ ich wartość numeryczna 100 serializuje się do „100”). Gdy łańcuch zaczyna się od '{’ lub '[’, wtedy jQuery.parseJSON jest używany do jego parsowania; musi on być zgodny z poprawną składnią JSON, włączając w to cytowane nazwy właściwości. Łańcuch, który nie jest parsowany jako wartość JavaScript, nie jest konwertowany.

Aby pobrać wartość atrybutu data-* jako nieskonwertowany łańcuch, użyj metody attr().

Od wersji jQuery 1.6 myślniki w nazwach atrybutów data-* są przetwarzane zgodnie z HTML dataset API.

Na przykład, biorąc pod uwagę następujący HTML:

1

Wszystkie poniższe porównania są prawdziwe:

1
2
3
4

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.