#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 11 years ago by
Component: | unfiled → data |
---|---|
Priority: | undecided → low |
Status: | new → open |
comment:2 Changed 11 years ago by
Resolution: | → duplicate |
---|---|
Status: | open → closed |
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."
Note: See
TracTickets for help on using
tickets.
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/.