I mają następujące oznaczenia:jQuery (dane) zwraca niezdefiniowane, attr() zwraca całkowitą
alert($embellishment.data("embellishmentId"));
alert($embellishment.attr("data-embellishmentId"));
pierwszy alert zwraca undefined
, drugi alert zwraca liczbę całkowitą 3
.
używam jQuery w wersji 1.7.2 (data
dodano wersji 1.4 wierzę)
dlaczego tak jest? Czy powinienem w ogóle używać data()
, jeśli nie zwraca właściwych wartości?
Oto kod źródłowy, który robi to: 'var name = "teleinformatyczny" + key.replace (rmultiDash "- $ 1") .toLowerCase();' 'funkcji wewnętrznych w dataAttr'. Gdzie 'rmultidash' to' rmultiDash =/([AZ])/g; ' – Esailija
http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#embedding-custom-non -visible-data-with-the-data - * - atrybuty – Alex
Faceci, jQuery zrobił to od dawna. Spójrz na atrybuty CSS. Jeśli chcesz zobaczyć styl CSS, używa on camelCase dla nieprzypisanych atrybutów. Na przykład: '$ ('# elem'). Css ({paddingTop: '40px'});' i '$ ('# elem'). Css ({'padding-top': '40px'});' . – TerranRich