Bug Tracker

Opened 10 years ago

Closed 10 years ago

Last modified 10 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 10 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 10 years ago by Pointy

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

comment:3 Changed 10 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 10 years ago by Rick Waldron

Status: openreopened

comment:6 Changed 10 years ago by Rick Waldron

Owner: set to Rick Waldron
Status: reopenedassigned

comment:7 Changed 10 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 10 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 10 years ago by Rick Waldron

Milestone: 1.71.6.4

comment:10 Changed 10 years ago by rwldrn

Resolution: fixed
Status: assignedclosed

Bug in rmultidash. Fixes #10194

Changeset: 8e8fa6dc1ad514b0fa20e41faddcb85693d0408a

Note: See TracTickets for help on using tickets.