如何在javascript函数中传递字符串?

时间:2015-03-02 15:13:22

标签: javascript html string

我想传递字符串,如“安德鲁的字符串”或“安德鲁的字符串”,其中包含单引号或双引号作为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:预期')'

2 个答案:

答案 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处理它来将helloAndrew's string的动态参数作为函数参数传递来实现简单的代码。

js code:

$('#myAnchor').click(function() {
                    get_settings("hello", "Andrew's string");
                });

html代码:

 <div id="myDiv">
            <a id="myAnchor">Click</a>
        </div>