将一些参数传递给onclick函数时出现意外的令牌错误

时间:2017-12-23 18:17:34

标签: javascript jquery html

我知道这个问题很常见,但我不知道为什么我似乎无法解决这个问题。大多数解决方案只是修复一些拼写错误的单词,误用符号等。请帮助我。我一直有意想不到的令牌}。

这是我的代码

<a href='#' id='editTmModal' data-toggle='modal' data-target='#editTMModal' onclick='showDialog(\'"+data+"\')'>"+data+"</a>

function showDialog(data,e){
    var name=data;
    alert(name);
}

请。帮助我:(。

此代码适用于整数但不适用于String。

2 个答案:

答案 0 :(得分:0)

假设此link-element动态插入您的网站。希望这会有所帮助:

var data = "23";
var linkElement = "<a href='#' id='editTmModal' data-toggle='modal' data-target='#editTMModal' onclick='showDialog("+data+",event)'>"+data+"</a>";
document.body.innerHTML = linkElement;

function showDialog(data,e){
    var name=data;
    alert(name);
    alert(e);
}

答案 1 :(得分:0)

您可能会发现在JS中添加事件侦听器更容易,并使用dataset

我假设您以某种方式使用JavaScript将HTML插入到文档中,所以我的示例反映了这一点。

const name = 'Bob';
const html = `<a href="#" id="editTmModal" data-name="${name}" data-toggle="modal" data-target="#editTMModal">Test</a>`;
document.body.innerHTML = html;

function showDialog(){
  let name = this.dataset.name;
  console.log(name);
}

const edit = document.querySelector('#editTmModal');
edit.addEventListener('click', showDialog, false);