使用js 拼html 页面 并添加上onclick 传参数 到前台,可能传的参数 会出现 带有英文双引号或单引号,就可能导致js出问题
在网上找了很多转义的方法,都有点小问题,经过不懈的摸索。找到了解决的办法
记录一下
并在后台拼html
var name = name.replace(/"/g, '\\"').replace(/'/g, '\\''); //name可能会出现单引号或者双引号,对单引号和双引号进行转义替换,注意:网上 //网上的教程都是说将 双引号替换为 " ,但是拼成html后,浏览器渲染后并没有转义成功,所以需要 多加两个斜杠。因为js也会再次转义,可能是由于js再次转义,所以转义无效了。后期还需要优化
'<a href="javascript:void(0)" title="修改名称" onclick="editThis('+"'"+name+"'"+','+"'"+row.platformId+"'"+','+"'"+row.modifytime+"'"+')"><i class="iconfont icon-bianji-"></i></a>'
然后应该就没问题了,我发现如果中间有js处理过,就需要加 \多转义一次, 否则一个斜杠转义就会失去效果,如果发现转义错误,可以试试多加几个斜杠转义试试