I tienen el siguiente código:datos jQuery() devuelve indefinido, attr() devuelve número entero
alert($embellishment.data("embellishmentId"));
alert($embellishment.attr("data-embellishmentId"));
La primera alerta devuelve undefined
, mientras que la segunda alerta devuelve un entero, 3
.
estoy usando jQuery versión 1.7.2 (data
se añadió con la versión 1.4 creo)
¿Por qué es esto? ¿Debería usar data()
si no devuelve los valores correctos?
Aquí está el código fuente que lo hace: 'var name = "Data-" + key.replace (rmultiDash, "- $ 1") .tolowercase();' 'en función interna dataAttr'. Donde 'rmultidash' es' rmultiDash =/([AZ])/g; ' – Esailija
http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#embedding-custom-non -visible-data-with-the-data - * - attributes – Alex
Chicos, jQuery lo ha hecho durante mucho tiempo. Eche un vistazo a los atributos de CSS. Si desea ver un estilo CSS, usa camelCase para atributos no citados. Por ejemplo: '$ ('# elem'). Css ({paddingTop: '40px '});' y '$ (' # elem '). Css ({' padding-top ':' 40px '});' . – TerranRich