Side navigation
#10106 closed bug (duplicate)
Opened August 22, 2011 11:26AM UTC
Closed August 22, 2011 01:18PM UTC
Last modified August 22, 2011 01:18PM UTC
.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/
Attachments (0)
Change History (3)
Changed August 22, 2011 12:00PM UTC by comment:1
component: | unfiled → data |
---|---|
priority: | undecided → low |
status: | new → open |
Changed August 22, 2011 01:18PM UTC by comment:2
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."
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/.