我想传递字符串,如“安德鲁的字符串”或“安德鲁的字符串”,其中包含单引号或双引号作为javascript函数中的参数而不会抛出异常。
var aString="Andrew's String";
var html_string="<a onclick=\"get_settings('hello',''"+aString+");\"></a>";
$("#myDiv").html(html_string);
运行此代码时,我遇到了这个异常:
第13行第54栏中的JavaScript严重错误(未知来源位置)\ n \ nSCRIPT1006:预期')'
答案 0 :(得分:0)
您的代码中存在问题:
在这一行:
var html_string="<a onclick=\"get_settings('hello',''"+aString+");\"></a>";
在解析时使用两个'
有效地创建它:
<a onclick="getSettings('hello', ''Andrew's String);"></a>
这是正确转义的更新版本。
var aString="Andrew's String";
var html_string="<a onclick=\'get_settings(\"hello\",\""+aString+"\");\'></a>";
$("#myDiv").html(html_string);
就个人而言,为了避免非转义字符串的问题,我会这样做:
var aString = "Andrew's String";
var element = $("<a>Your caption here</a>").click(function(){
getSettings("hello", aString);
});
$("#myDiv").empty(); //empty the element;
$("#myDiv").append(element);
答案 1 :(得分:0)
通过在页面中创建div和anchor static并使用javascript处理它来将hello
和Andrew's string
的动态参数作为函数参数传递来实现简单的代码。
js code:
$('#myAnchor').click(function() {
get_settings("hello", "Andrew's string");
});
html代码:
<div id="myDiv">
<a id="myAnchor">Click</a>
</div>