onclick方法偶尔失效,有时清缓存可恢复,各位大牛看看什么原因

function init(){
var sDatas = <%=JSONUtils.toJSONString(serivce.getVARecode(sObjectNo)) %>.data;
var ObjectNo =  <%= sObjectNo%>;
$.each(sDatas,function(i,data)){
content.push("<tr>");
content.push("<td></td>");
content.push("<td>"+data.vastarttime+"</td>");
content.push("<td>"+data.vaendtime+"</td>");
content.push("<td>"+data.callflag+"</td>");
content.push("<td>"+data.status+"</td>");
content.push("<td><button class='tablbtn' id=' "+data.serialno+" ' style='width: 30%'; onclick=\"serchDetail(' "+objectno+" ', ' "+data.serialno+" ')\">查看详情</button></td>");
content.push("</tr>");



});

appTo(content.join(''),"#va_datas");
}


var sDatas = (<%=JSONUtils.toJSONString(serivce.getVARecode(sObjectNo)) %>).data;
这里加一个括号,要不输出json格式字符串会变成{....}.data,...中内被当做代码了,而不是作为json一个整体

var ObjectNo = <%= sObjectNo%>;
还有这句sObjectNo也要有值,要不客户端js语法会 出错,可以用引号扩起防止没有值js脚本出错
var ObjectNo = '<%= sObjectNo%>';

objectno和data.serialno字符串是有引号吗?有引号就会出错

看不到整个逻辑,但可能是异步造成问题,事件声明比元素加载更早,实际事件并未绑定到元素上,所以事件会失效

你这个代码能运行吗,这个两个括号就不对

$.each(sDatas,function(i,data)){

如果能运行,方便贴一下content生成的html吗