将数组传递给函数并在Javascript中转义双引号

时间:2014-04-27 21:51:20

标签: javascript arrays

我正在生成动态HTML,并希望将数组传递给调用函数。该阵列也是动态生成的。

pinfoarray的内容有点像这样"冰上曲棍球","青少年篮球""女子足球"

var theHost = "<a href='#someDialog' onclick='chnghost(' + pinfoarray + ');' data-toggle='modal' class='button'>Change</a>";

如何让它在没有错误的情况下将数组发送到调用函数。

3 个答案:

答案 0 :(得分:1)

如何制作like this

var anchor = document.createElement('a');

anchor.href = '#someDialog';
anchor.setAttribute('data-toggle','modal');
anchor.className='button';

anchor.onclick = function(){
  chnghost(pinfoarray);
}

答案 1 :(得分:0)

你需要关闭字符串双引号来放置一个javascript变量:

var theHost = "<a href='#someDialog' onclick='chnghost('" + pinfoarray + "');' data-toggle='modal' class='button'>Change</a>";

答案 2 :(得分:0)

您需要正确终止字符串并对参数进行编码。您还需要防范数据中的保留字符(escapeHtml)。

var theHost = "<a href='#someDialog' onclick='chnghost(" + escapeHtml(JSON.stringify(pinfoarray)) + ");' data-toggle='modal' class='button'>Change</a>";

如果你正在使用jQuery,你可以像这样实现escapeHtml:

function escapeHtml(text) {
    return $("<div/>").text(text).html();
}