在jquery中使用什么代替eval

在jquery中使用什么代替eval,jquery,eval,Jquery,Eval,我试图在我的视图中使用fancybox jquery插件。我正在向fancybox方法发送一个js字符串。但它不起作用。我认为它应该是一个物体。我真的不知道怎么做。让我给你看看我的代码。我的问题还在继续!是什么导致了这个问题 这样就不行了 $('.adsImgDiv').click(function(){ var myFancy = $(this).attr('imgVal'); $.fancybox.open([ myFancy

我试图在我的视图中使用fancybox jquery插件。我正在向fancybox方法发送一个js字符串。但它不起作用。我认为它应该是一个物体。我真的不知道怎么做。让我给你看看我的代码。我的问题还在继续!是什么导致了这个问题

这样就不行了

$('.adsImgDiv').click(function(){
        var myFancy = $(this).attr('imgVal');

        $.fancybox.open([
                myFancy
                ]);
    });
但这是可行的

$('.adsImgDiv').click(function(){
        var myFancy = $(this).attr('imgVal');

        $.fancybox.open([
                { href:'http://127.1.0.1:14031/resources/advimages/0_03e23e4f-4c63-419a-94ef-911de63fb368.png', title:'titlein'} ,{ href:'http://127.1.0.1:14031/resources/advimages/1_03e23e4f-4c63-419a-94ef-911de63fb368.png', title:'super'}
                ]);
    });
最后一个错误

获取parseJson时出错

Uncaught SyntaxError: Unexpected token h jquery-1.8.3.min.js:541
jQuery.extend.parseJSON jquery-1.8.3.min.js:541
(anonymous function)   myAds:218jQuery.event.dispatch jquery-1.8.3.min.js:3074elemData.handle

您可以使用函数.parseJSON来实现这一点

$('.adsImgDiv').click(function(){
    var myFancy = $(this).attr('imgVal');

    $.fancybox.open([
        $.parseJSON(myFancy)
    ]);
});

谢谢你的回答。我更新了我的问题。当我尝试$.parseJSON时,它会显示该错误。Iam使用jquery 1.8.3Do进行了一些调试,比如在控制台上输出变量myFancy$.parseJSON不起作用。我删除了$.fancybox.open,只添加了var json=$.parseJSON(myFancy);警报(json);但它也有同样的错误。我想我对$.parseJSON有问题。我的jquery库无法识别它复制输出并对$.fancybox.open([“粘贴到此处])进行编码;看看会发生什么。with“”引号很有用,但它只是弹出字符串。当删除“”时,它将图像显示为所需。