Если вы поместите атрибут "data-" для элемента:
<div id='x' data-key='value'>
то вы можете получить значение с помощью метода jQuery ".data()":
alert($('#x').data('key')); // alerts "value"
В библиотеке используется последовательный конвертер для верблюжьих коробок для имен атрибутов со встроенными тире:
<div id='x' data-hello-world="hi">
alert($('#x').data("helloWorld"));
Конвертер для верблюжьих коробок - это "глобальная" функция jQuery:
alert($.camelCase("hello-world")); // alerts "helloWorld"
Однако это все ломается, когда имя атрибута имеет имя с одной буквой, окруженной тире:
<div id='x' data-image-x-offset='50px'>
alert($('#x').data('imageXOffset')); // undefined
Это немного странно, потому что:
alert($.camelCase('image-x-offset')); // "imageXOffset"
Итак, что случилось? Я думаю, что это имеет какое-то отношение к механизму, используемому для перехода в другое направление, преобразованию уже вернувшегося верблюжьего имени обратно в пунктирную форму. Я не могу точно определить его в коде.
Кажется, что тот же в 1.6.2, что и в 1.6.3. (Например, форма "image-x-offset" может использоваться для получения данных.)
edit — если для данного элемента вы получаете доступ через пунктирную форму до, используя форму верблюда, то она работает (и это говорит мне, что это определенно bug: -)