如何在Javascript函数中传递包含(';,”的动态字符串

如何在Javascript函数中传递包含(';,”的动态字符串,javascript,jquery,html,rss,Javascript,Jquery,Html,Rss,我正在使用RSS源。我想将链接和标题传递给这样一个Javascript函数 '<a href="javascript:void(0)" onclick="shareFb(\''+item.link+'\',\''+item.title+'\')"></a>' “” 此item.link和item.title是动态生成的。如果链接包含(facebook的)等词。。(')单引号和一些其他字符造成问题,浏览器控制台抛出错误未捕获的语法错误:意外标识符。如果我传递的标题和链接

我正在使用RSS源。我想将链接和标题传递给这样一个Javascript函数

'<a href="javascript:void(0)" onclick="shareFb(\''+item.link+'\',\''+item.title+'\')"></a>'
“”
此item.link和item.title是动态生成的。如果链接包含(facebook的)等词。。(')单引号和一些其他字符造成问题,浏览器控制台抛出错误
未捕获的语法错误:意外标识符。
如果我传递的标题和链接包含纯文本,则我可以将其作为参数传递。有什么办法可以让它发挥作用。

试试这个:

'<a href="javascript:void(0)" onclick="shareFb(\''+encodeURIComponent(item.link)+'\',\''+encodeURIComponent(item.title)+'\')"></a>'
“”

在项目标题中,将出现的
'
替换为
\'

改变

item.title


就像你说的,有些角色有问题。在服务器端,尝试转义item.link和item.title


例如,在C#中,可以使用:HttpUtility.UrlEncode。在JavaScript中,可以使用encodeURI()。然后,当您想要解码参数时,请在item.link中使用decodeURI()。

您可以使用encodeURIComponent

使用encodeURIComponent();为什么不只是$('a')。单击(函数(){shareFb(item.link,item.title);});“”用这个
item.title.replace('\'', '\\'')