在这段代码中,当basis变量使用单引号时,例如"Father's Day",那么我遇到了一个问题,因为标记在遇到单引号的位置被关闭了。

'success' : function(data) {
    div.innerHTML = '<a href=\'javascript:blockConcept("'+tld+'","'+basis+'","'+admin_id+'","'+url+'")\' class="block">Block concept for '+ tld+'</a>'
}

最佳答案

您可以使用basisreplace(和其他)中的单引号引起来:

... + basis.replace(/'/g, "\\'") + ...


...但是这让您容易遇到其他问题(例如换行符)。您可能考虑在元素上输出tldbasis等属性,然后调用传入blockConceptthis,以便它可以从元素中检索信息。或传递一个用JSON.stringify编码的参数(您可能需要一个填充程序,并非所有浏览器都具有本机功能)。

关于javascript - Javascript单引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14815288/

10-09 18:14