在HTML 拼接中,有时会用到 onclick 事件绑定函数,并要其中传递参数;简单的参数不用说,但如果是一个对象的话,就会出现报错!
解决方法:
将对象转为 json ,再进行传递(HTML不能直接传递对象);
备注:
区分 “js对象” 和 “json ” :js 在接受到json 时能自动转化为js 对象;而例如HTML 中函数传递时,对象的传递只能转为json 来传!
参考如下:
js中写html代码(onclick参数中带有json对象)
-
当你传进去的是字符串的时候:
要带有引号才可以,不然是会报错的。 -
当参数是 json 对象时:
用拼接字符串的方式构建html,只能拼接字符串,对象是没办法拼接的。
当进去的是对象时候,当你触发事件的时候,你将得到的是([object Object])
这里[object Object]会引起 Uncaught SyntaxError: Unexpected identifier
在这里还会遇到一个问题就是
unexpected end of input 这个错误是由于带的json字符串。它的双引号与onclick控件的双引号
起冲突了,解决方法,将json字符串的双引号转换成单引号就行了,
解决方法:
(1)将row转换成json,拼接进去,后面在函数里面再转换回来。
(2)拆开row,把row的多个属性逐一作为参数传递给函数。
(3)保存row为全局,传递row的凭证给函数,函数拿着凭证去全局取row对象
1.双引号替换成单引号
ps: 2.单引号替换成双引号
ps: