js onclick等事件传递对象

本文介绍了如何在JavaScript中正确处理对象传递,包括使用JSON.stringify避免特殊字符转义,并提供了一个示例,展示了如何在onclick属性中安全地拼接JSON字符串。关键在于理解转义双引号和单引号的方法。
摘要由CSDN通过智能技术生成

js 传递对象需要注意的点:特别是拼接html onclick等方法时

1、传递前转json字符串

1)JSON.stringify(obj)

2)注意json对象内部可能特殊转义字符,这里以最常见和最容易出错的双引号和单引号为例

.replace(/\"/g, """)
.replace(/\'/g, "\\\'")

2、方法接收后转JSON

JSON.parse(objStr);

一段示例代码奉上(拼接onclick,注意各个双引号 单引号处理),仅供参考

return "<a href=\"javascript:;\"" +
    " οnclick=\"showDetail('"+column.gs+"','"+(JSON.stringify(column).replace(/\"/g, "&quot;").replace(/\'/g, "\\\'"))+"','"+row.key_id+"','"+field+"','"+title+"','"+row[field]+"\')\">"
    +value +"&nbsp;&nbsp;<i class=\"fa fa-hand-o-down\"></i></a>";
function showDetail(url,column,key_id,field,title,fieldVule) {
    var column_=JSON.parse(column);
    ......
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值