#10194 closed bug (fixed)
Data attribute names with single dash-surrounded letters cannot be accessed by the camel-case name
Reported by: | Pointy | Owned by: | Rick Waldron |
---|---|---|---|
Priority: | blocker | Milestone: | 1.6.4 |
Component: | data | Version: | 1.6.3 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Data attributes like "data-image-x-offset" should be accessible via ".data('imageXOffset')", but currently they cannot be. The ".camelCase()" function correctly translates the name, but the code that goes the other direction apparently mishandles this case.
Access by the dashed form of the name works of course.
Change History (10)
comment:1 Changed 11 years ago by
comment:3 Changed 11 years ago by
Component: | unfiled → data |
---|---|
Milestone: | None → 1.7 |
Priority: | undecided → blocker |
Status: | new → open |
Confirmed, it's a bug in rmultiDash
. Thanks ... I wish we would have been able to fix this in 1.6.3 but at this point it's a 1.7 item.
comment:5 Changed 11 years ago by
Status: | open → reopened |
---|
comment:6 Changed 11 years ago by
Owner: | set to Rick Waldron |
---|---|
Status: | reopened → assigned |
comment:7 Changed 11 years ago by
Possible solution is:
rmultiDash = /\B([A-Z])/g; key.replace( newMultiDash, '-$1' ).toLowerCase()
Because it is a single character match, the index of the starting character of the next attempted match will always be one higher than the index of the previous starting character rather than being one higher than the index of the ending character matched in the previous match.
comment:8 Changed 11 years ago by
Or I should have said "...rather than being two higher than the index of the previous starting character if the previous attempt resulted in a match".
comment:10 Changed 11 years ago by
Milestone: | 1.7 → 1.6.4 |
---|
comment:10 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Bug in rmultidash. Fixes #10194
Changeset: 8e8fa6dc1ad514b0fa20e41faddcb85693d0408a
More info: if the dashed form of the attribute name is used at least once for a given element, then the camel-case form subsequently works.