var data = $("#foo").data("role");
data = eval('('+ data +')')
alert(data);
data = eval('('+ data +')')
alert(data);
解决方案 »
- 为什么js的document.write 输出内容把网页内容全部冲刷掉了?
- vs2005 ie8 extjs grid 导出excel “下载文件” 对话弹不出来
- js数组参数传递 为何值会发生改变 急急急!!!!
- javascript限制文件上传大小,非ActiveXObject
- AJAX调用得到html 连接失效 问题?
- JS赋值给文本框的一个奇怪问题
- var code = rs("code"); 是什么意思,能看得出来 rs 是什么结构吗?
- 怎麼區分繁體和檢體(在線等待)
- 高手请进,急急急!(我写了一个web版的oicq,但遇到了一些问题...)
- 对象不支持“clone”属性或方法
- ie8,外链js执行顺序疑问
- DOJO的xhrGET发出请求,返回时整个页面
$info = {name:"tom",age:22};
$("body").html("<div id='foo'>111</div>");
$("#foo").data('role',$info);
var $data = $("#foo").data("role");
alert($data.name);
只是jQuery给人一个错觉。
要不这样
info = {name:"tom",age:22};
var $a = JSON.stringify(info);
$("body").html("<div id='foo' data-role="+$a+">111</div>");
var $data = $("#foo").data("role");
https://github.com/douglascrockford/JSON-js/blob/master/json2.js
info = [{name:"tom",age:22},{name:"jim",age:23}];
var html = '';
for (var i = 0;i<info.length;i++) {
html +='<a href="javascript:;" class="J_edit" data-role='+info+'>edit</a>';
}
$("body").append(html);
$(".J_edit").click(function() {
var data = $(this).attr("data-role");
alert(data.name);
});
比如点了第一个edit就可以获取到第一组的json的name,就是tom,点了第二个就是jim
转化为字符串。如果info是json串,
var $data = $("#foo").data("role");出来时jQuery会自动转换(用jQuery.parseJSON 也就是JSON.parse)
如果不是还要手动处理。