JQuery .data() API in 1.6.1

Setting .data() via an object with hyphenated keys leads to inaccessible data.

by rwaldron

JavaScript

var body = $('body'), 
    test = {
      "camelBar": "camelBar",
      "hyphen-foo": "hyphen-foo"
    };

body.data(test);

$.each( test , function(i, k) {
    console.log( (k === body.data(k) && "PASS") || "FAIL"  );
});


$.each(['camel-bar', 'camelBar', 'hyphen-foo', 'hyphenFoo'], function(i, k) {
    body.data(k, k );
    
    console.log( (k === body.data(k) && "PASS") || "FAIL"  );
});