javascript函数调用字符串中的括号

Parentheses in string of javascript function call

本文关键字:函数调用 字符串 javascript      更新时间:2023-09-26

我有一个循环,在onClick事件中使用javascript函数调用创建链接,并使用从数据库返回的文本作为参数之一。我的问题是,有时这个文本被返回有括号在他们这是导致我的代码中的语法错误。例子:

code:
formResults += "<a onclick='openForm(" + this.displayText + "," + this.ID + ");'>" + this.displayText + "</a>";
HTMLDisplay:
<a onclick="openForm(Example Form (Example Form 1) Application Instructions ,1108);">Example Form (Example Form 1) Application Instructions </a>
如您所见,

表单的名称包含一组括号。我能把这些写进去吗?我之所以需要这样做,是因为该函数指向另一个系统,该系统使用ID和displayText来呈现适当的形式。谢谢你

括号不是问题,问题是函数内部缺少引号。

formResults += "<a onclick='openForm(''" + this.displayText + "," + this.ID + "'');'>" + this.displayText + "</a>";

下面的代码片段(来自你的)

`openForm(Example Form...`)

将抛出错误,因为它正在寻找变量Example等,引用该字符串!

我强烈建议

代码:

formResults += '<a class="openForm" data-text="'+this.displayText + '" id="'+this.ID + '">' + this.displayText + '</a>';

HTMLDisplay:

<a class="openForm" data-text="Example Form (Example Form 1) Application Instructions" id="1108">Example Form (Example Form 1) Application Instructions </a>
jQuery:

$(function() {
  $(".openForm").on("click",function(e) {
    e.preventDefault();
    openForm($(this).data("text"),this.id);
  });
});