jquery里字符串转成对象的方法及在线实例演示亲测 原创

文章标签: 对象
  • :
  • 03-30 15:07
  • :
  • 33次
  • :
  • 0条
  • 0赞

简介本文和你分享在jquery里把字符串转为对象的方法及在线实例演示。

jquery里可以把字符串转成对象吗?答案当然是可以的!看下面站长写的一个实例,文章里会有在线演示的链接。

假设我们的网页里有下面的这样几个链接:

<a href="#" op="{title:'aijquery1',ajax:{url:'aijquery.cn/1'}}">aijquery1</a>
<a href="#" op="{title:'aijquery2',ajax:{url:'aijquery.cn/2'}}">aijquery2</a>

我们要实现的目的很简单,就是点击不同的链接时,要按照链接里不同的参数执行不同的操作,这样我们就要用到“字符串转成对象”了,因为只有转成了对象,我们才能方便的读取对象里各个属性的值:

<script language="JavaScript">
$("a").click(function(e){
    e.preventDefault();
    var op=$(this).attr("op");
    op=eval('('+op+')');
    alert(op.title);
});
</script>

这是站长准备的在线演示地址:jquery里字符串转对象的在线实例演示

截图如下:

从上面的代码不难看出,字符串转对象的方法就是用js里的eval函数,并且要记得用小括号把字符串括起来,另外jquery里有一个内置的函数:$.parseJSON(),不过这个函数在把字符串转成对象时,要求比较严格,如果不符号要求,那么就会报错!

比如下面这两种情况,在用$.parseJSON转成对象时,就会报错:

{test: 1} //test没有用双引号包裹
{'test': 1} //使用了单引号而不是双引号

大家可以用下面这句代码替换上面实例中的eval转换代码,查看测试一下:

op=$.parseJSON(op);

所以我们在要把字符串转成对象时,直接就用eval,而不要用jquery里内置的这个parseJSON函数。

上面的实例里,标签属性里的值都是字符串,那么我们可以把变量,或者函数写到标签属性时,然后在转换为对象后,直接读取并运行吗?

当然是可以的,看下面的实例代码:

<a href="#" op="{title:'alert',do:cs}">alert</a>

上面的这个标签的op属性里,do参数的值,我们并没有用引号,所以在转换成对象时,它就不会被当成字符串,但这也要求我们要先定义好这个变量的值,而在js里,我们可以给变量赋一个具体的值,也可以直接赋予一个函数:

 var cs=function(){
     alert("www.aijquery.cn");
 };

具体的测试结果,站长全都写在了上面的在线实例里,大家可以自己点开查看!



您正在找的文章可能是: