This pytanie jest związane z moim i wyjaśnia, co to jest .data
method w Jquery.przeznaczenie danych w jquery? (w porównaniu do dodawania własnych pól do obiektów Jquery)
Oprócz relacji do HTML5 data-*
elementów atrybutów (jak <p class='foo_cl' data-bar='gee'>
, na przykład), dlaczego miałbym kod:
$('body').data("my_lab", {some:"object"}); // §1
zamiast
$('body').my_lab = {some:"object"}; // §2
(Jestem zainteresowany głównie w przypadku gdzie selektor Jquery daje jeden obiekt, tak jak dla $('body')
powyżej)
Później (§ 2) wydaje się bardziej czytelny i krótszy, i myślę, że byłby bardziej skuteczny niż ten pierwszy (§ 1). Oczywiście data
jest selektor jQuery (ale mogę użyć each
aby ustawić pole .my_lab
, etc ...)
I może nawet rozważyć zmianę elementu DOM z brzydkie patrząc
$('body')[0].my_lab = {some:"object"}; // §3 is ugly
(która jest chyba niezdefiniowane zachowanie, zobacz this)
oczywiście, istnieje potencjalna kwestia kolizji nazwę pola my_lab
z jakimś istniejącym polu w realizacji JQuery; ale zakładam, że używanie zwykłego sufiksu (np. my_
) w nazwach pól powinno wystarczyć.
FWIW, interesuje mnie tylko ostatnie Jquery (np. Jquery 2.1.4) na ostatnim Firefoksie (np. 38 lub 42) na Linuksie.
Innymi słowy, dlaczego dodawanie własnych pól w obiektach JQuery byłoby niezadowolone?
trzecia jest w porządku, pierwsze dwa zestawy rekwizytów na tym, co zwykle jest przedmiotem/zbiorem. – dandavis