Le estás asignando como data un objeto y después querés mostrarlo como si fuera texto plano.
Deberías mostrarlo así:
Código Javascript
:
Ver original$("#btn2").click(function(){
alert($("div").data("keyName").foo);
});
Pero para qué pasarlo como objeto? Si no es imprescindible lo de foo, simplemente crealo y mostralo de la siguiente manera (igualmente con la anterior también funciona):
Código Javascript
:
Ver original$(document).ready(function(){
$("#btn1").click(function(){
$('div').data('keyName', 'bar');
});
$("#btn2").click(function(){
alert($("div").data("keyName"));
});
});
Saludos :)