标签:
今天给html标签的属性赋值为对象时,发现取出来的值为 [object,Object],感觉有点奇怪。
代码如下:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>[object Object]</title> 6 <script type="text/javascript" src="../../trd/jquery/jquery-1.9.1.min.js"></script> 7 <script type="text/javascript"> 8 $(function(){ 9 var student = {name:"小明",gender:"男"}; 10 $("#txt").attr("rowData",student);//给id为txt的标签添加rowData属性,值为student对象 11 12 console.log($("#txt").attr("rowData"));//控制台输出为:[object Object] 13 alert($("#txt").attr("rowData"));//弹出框中信息为:[object Object] 14 }); 15 </script> 16 </head> 17 <body> 18 <input type="text" name="txt" id="txt"/> 19 </body> 20 </html>
那怎样可以取到对象的值呢?我的做法是赋值的时候,先用JSON.stringify方法将student对象转换为json字符串。
代码如下:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>[object Object]</title> 6 <script type="text/javascript" src="../../trd/jquery/jquery-1.9.1.min.js"></script> 7 <script type="text/javascript"> 8 $(function(){ 9 var student = {name:"小明",gender:"男"}; 10 $("#txt").attr("rowData",JSON.stringify(student));//给id为txt的标签添加rowData属性,值为student对象 11 12 console.log($("#txt").attr("rowData"));//控制台输出为:{"name":"小明","gender":"男"} 13 alert($("#txt").attr("rowData"));//弹出框中信息为:{"name":"小明","gender":"男"} 14 }); 15 </script> 16 </head> 17 <body> 18 <input type="text" name="txt" id="txt"/> 19 </body> 20 </html>
但是我还有一个疑问就是:为什么alert(object)输出值为 [object,Object],如果看到这篇文章的博友知道答案,还望不吝赐教。
标签:
原文地址:http://www.cnblogs.com/zuidongfeng/p/5587075.html