2013-07-19 62 views
0

我试图将一个锚标记添加到ID为#photo的div中。然而,href包含密钥对数据以及超链接。写这行代码的正确方法是什么?在jquery中使用锚标记和href prepend并追加

理想我想的代码行是如下

$('#photo').prepend('<a href="javascript:pixlr.edit({image:'http://mysite.com/photo /+'photo'+', title:'+photo+', service:'express',exit:'http://mysite.com', method:'get', locktarget: 'true', target:'http://mysite.come/upload', locktitle :'true'});" id="uploadedPhotoEdit" title="click to enhance photo before sharing"></a>'); 

照片是一个jquery变量保持上传照片的名称。你如何使用jQuery变量,并使用超链接没有超链接我知道它很简单,如'+ nameofvariable +',但随着引用使用双引号的超链接变得困难。

感谢

+0

为什么要使用“的javascript:” HREF,而不是一个onclick? – Jacob

回答

0

的一种方法是使JSON对象,然后使用JSON.stringify创建该对象的字符串。如果您计划在具有这是由不支持JSON.stringify浏览器使用,您将需要包括以下JS文件:https://github.com/douglascrockford/JSON-js

var photo = "photo.gif"; 

var pixlrJson = { 
    image : 'http://mysite.com/photo/' + photo, 
    title : photo, 
    service : 'express', 
    exit : 'http://mysite.com', 
    method : 'get', 
    locktarget : true, 
    target : 'http://mysite.come/upload', 
    locktitle : true 
}; 

$('#photo').prepend("<a href='javascript:pixlr.edit(" + JSON.stringify(pixlrJSON) + ");' id='uploadedPhotoEdit' title='click to enhance photo before sharing'></a>"); 

如果你不喜欢这样的解决方案,您可以逃脱使用引号反斜杠。

var test = "This is a test string that has a \" inside of it"; 

另一种方法是使用双引号的单引号字符内:

+0

var temp ='{“test”:“http://www.google.com”}'; – verbanicm