我正在用js插入内容,其中包括对函数的onclick调用。此函数传递一个包含数据库条目的参数,该数据库条目可能包含一个'。
var action = '<a href="#" class="facebook-share" onclick="facebookWallPost(\' '+name+'\')">Share</a>';麻烦的是,当name包含一个撇号时,它会中断函数调用。我尝试过用'替换名称上的字符串,但浏览器似乎仍然将其转换为'。
知道我怎么才能避开这一切吗?
发布于 2014-03-31 10:54:00
使用转义()或在JavaScript版本1.5之后。使用encodeURI()或encodeURIComponent()代替。
发布于 2014-03-31 10:56:09
不要将字符串与其他代码混在一起来编写代码。在JavaScript中包含了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');
);https://stackoverflow.com/questions/22759665
复制相似问题