Bug Tracker

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#10106 closed bug (duplicate)

.data() as string

Reported by: Aske Owned by:
Priority: low Milestone: None
Component: data Version: 1.6.2
Keywords: Cc:
Blocked by: Blocking:

Description

When i store a value like "001" into the data attribute and retrieve it with .data() i get "1" returned. This should be "001" and not parsed as an int.

Example here: http://jsfiddle.net/Aske/WzFS4/

Change History (3)

comment:1 Changed 8 years ago by addyosmani

Component: unfileddata
Priority: undecidedlow
Status: newopen

Confirmed. I believe we're using parseFloat(n) as opposed to parseInt(n), but it's essentially causing the same issue regardless. One possible workaround for now would be storing 001 as a single-quoted string within your data-value, however this isn't ideal: http://jsfiddle.net/WzFS4/2/.

comment:2 Changed 8 years ago by timmywil

Resolution: duplicate
Status: openclosed

This is expected behavior and a feature of the .data() method. It is explained in the docs: "Every attempt is made to convert the string to a JavaScript value (this includes booleans, numbers, objects, arrays, and null) otherwise it is left as a string. To retrieve the value's attribute as a string without any attempt to convert it, use the attr() method."

comment:3 Changed 8 years ago by timmywil

Duplicate of #10042.

Note: See TracTickets for help on using tickets.