我用js插入内容,其中包括对函数的onclick调用。此函数传递一个包含数据库条目的参数,该条目可能包含'
。
var action = '<a href="#" class="facebook-share" onclick="facebookWallPost(\' '+name+'\')">Share</a>';
麻烦的是,当name包含单个撇号时,它会中断函数调用。我已尝试在名称上执行字符串替换,将'
替换为'
,但浏览器似乎仍会将其转换回'
。
知道如何解决这个问题吗?
答案 0 :(得分:1)
使用escape()或JavaScript 1.5版之后。改为使用encodeURI()或encodeURIComponent()。
答案 1 :(得分:0)
不要通过将字符串与其他代码混合在一起来编写代码。你在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');
);