.data()

A .data() módszer lehetővé teszi a DOM-elemekhez korábban társított adatok beolvasását. Egyszerre több különböző értéket is lekérdezhetünk egy elemhez egyenként vagy halmazként:

1
2
3
4
5
6
7

A .data() paraméterek nélküli hívása egy JavaScript objektumot ad vissza, amely minden tárolt értéket tulajdonságként tartalmaz. Az objektum közvetlenül használható az adatértékek lekérdezésére (de vegye figyelembe, hogy az eredetileg kötőjeleket tartalmazó tulajdonságnevek az alábbiakban leírtak szerint módosulnak).

A jQuery 3 óta minden kétkarakteres “-” (U+002D) sorozat, amelyet egy kisbetűs ASCII betű követ a kulcsban, a HTML-adatkészlet API-hoz igazodva a betű nagybetűs változatával helyettesíti. Egy olyan utasítás, mint a $( "body" ).data( { "my-name": "aValue" } ).data();, { myName: "aValue" }-et fog visszaadni.

HTML5 data-* Attribútumok

A jQuery 1.4.3 óta a data-* attribútumok a jQuery adatok inicializálására szolgálnak. Egy elem data-* attribútumai az data() metódus első meghívásakor kerülnek lekérdezésre, és ezután már nem érhetőek el, illetve nem mutálódnak (minden értéket a jQuery belsőleg tárol).

Minden kísérlet megtörténik az attribútum string értékének JavaScript-értékké alakítására (ez magában foglalja a boolékat, számokat, objektumokat, tömböket és a null értéket). Egy karakterláncot csak akkor konvertálnak számmá, ha ez nem változtatja meg az ábrázolását (például a “100” karakterláncot a rendszer a 100-as számmá konvertálja, de az “1E02” és a “100.000” karakterláncok maradnak, mert a 100-as numerikus értékük “100”-ra sorjázik). Ha egy karakterlánc ‘{‘-val vagy ‘[‘-val kezdődik, akkor jQuery.parseJSON-t használunk az elemzésére; az érvényes JSON-szintaxist kell követnie, beleértve az idézőjeles tulajdonságneveket is. A JavaScript-értékként nem elemezhető karakterlánc nem kerül átalakításra.

A data-* attribútum értékének átalakítatlan karakterláncként történő lekérdezéséhez használja a attr() módszert.

A jQuery 1.6 óta a data-* attribútumnevekben lévő kötőjelek a HTML-adatkészlet API-val összhangban kerülnek feldolgozásra.

A következő HTML esetén például:

1

A következő összehasonlítások mind igazak:

1
2
3
4

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.