Bug Tracker

Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#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 6 years ago by Pointy

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.

comment:2 Changed 6 years ago by Pointy

And here's a fiddle: http://jsfiddle.net/99eQ8/

comment:3 Changed 6 years ago by dmethvin

Component: unfileddata
Milestone: None1.7
Priority: undecidedblocker
Status: newopen

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 6 years ago by Rick Waldron

Status: openreopened

comment:6 Changed 6 years ago by Rick Waldron

Owner: set to Rick Waldron
Status: reopenedassigned

comment:7 Changed 6 years ago by anonymous

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 6 years ago by anonymous

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 6 years ago by Rick Waldron

Milestone: 1.71.6.4

comment:10 Changed 6 years ago by rwldrn

Resolution: fixed
Status: assignedclosed

Bug in rmultidash. Fixes #10194

Changeset: 8e8fa6dc1ad514b0fa20e41faddcb85693d0408a

Note: See TracTickets for help on using tickets.