Javascript参数传递单撇号

Javascript参数传递单撇号,javascript,Javascript,我用js插入内容,其中包括对函数的onclick调用。此函数传递一个包含数据库项的参数,该数据库项可能包含一个“ var action = '<a href="#" class="facebook-share" onclick="facebookWallPost(\' '+name+'\')">Share</a>'; var action=''; 问题是,当名称包含一个撇号时,它会中断函数调用。我尝试对name进行字符串替换,将'替换为'但它似乎仍然被浏览器转换

我用js插入内容,其中包括对函数的onclick调用。此函数传递一个包含数据库项的参数,该数据库项可能包含一个

var action = '<a href="#" class="facebook-share" onclick="facebookWallPost(\' '+name+'\')">Share</a>';
var action='';
问题是,当名称包含一个撇号时,它会中断函数调用。我尝试对name进行字符串替换,将
'
替换为
'
但它似乎仍然被浏览器转换回


知道我该如何解决这个问题吗?

使用escape()或JavaScript 1.5版之后的版本。请改用encodeURI()或encodeURIComponent()。

不要通过将字符串与其他代码混合在一起来编写代码。在JavaScript中包含HTML和JavaScript,这是令人头疼的问题

改用DOM操作

var a = document.createElement('a');
a.href = "#"; // You should use a button instead of a link to the top of the page
a.className = "facebook-share";
a.addEventListener('click', function () {
    facebookWallPost(name);
});
a.appendChild(
    document.createTextNode('Share');
);

用刀砍逃跑<代码>\'?可能重复:?干杯,我使用escape传递它,然后在函数中使用unescape()。