将 js 数组作为参数传递给动态创建的 table 行的 onclick 事件函数

Passing js array as a parameter to dynamically created table row's onclick event function

我动态创建了一个 table,我想将 js 数组传递给行;

var html= "<table id='tableID'><thead>...</thead><tbody></tbody></table>";
var jsArray = [{id: 1, val: "test"},{id: 2, val: "test2"}];
    
html+= '<tr onclick="myFunction('+jsArray+')"></tr>'
    

$('#tableID tbody').append(html);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="tableID">
  <tbody></tbody>
</table>

我尝试了 JSON.stringify(jsArray) 然后通过了它,但它不起作用。也许我可以将“更改为”,但这看起来不是最佳做法。

JSON.stringify(jsArray) 不起作用的原因是结果包含双引号,并且作为 onclick 属性的值,它已经放在双引号内。因此,如果您使用单引号,它应该可以工作。尝试将 onclick="..." 更改为 onclick='...'