今天遇到一个问题,页面事件是动态生成的,方法的参数也是拼接的。例如:
str += '<span οnclick="changeWindow(\''+itemStr+'\')" style="color:white; height:35px;">S</span>';
参数是JSON对象,传过去的值是“[object object]”这样的根本没办法用的。
后面想的是 直接把对象转为字符串:
var itemStr =JSON.stringify(item[j]);
也是不行的 会出错。
最后找到两种方法:
1.最开始的是双引号
str += "<span οnclick="changeWindow(\'"+itemStr+"\')" style="color:white; height:35px;">S</span>";
2.replace 反向解析
var itemStr =JSON.stringify(item[j]).replace(/"/g,"&"+"#34");
这样就没有问题了。