jquery将对象作为属性值添加到动态创建的元素中

我们在用js或者jquery来进行前端开发的时候有时候会遇到要给动态创建的元素以对象作为属性值的属性。HTML里面属性值必须加引号,这就意味着属性值一般情况下是字符串,那么直接将对象加进去肯定是不行的,这时候首先就想到JSON.stringify()转成字符串了,试了一下发现不行,原因是转换之后字符串里面包含了原对象的引号,和属性值之前的引号闭合导致报错了,这时候我们要做的就是把原对象转换后的字符串引号替换成转义字符,解决如下:

1.将对象作为属性值添加

let data = { "name":"linhoon", "desc":"oldMan!" };
/*
	1.用JSON.stringify()方法将对象转换成字符串
	2.然后用replace()方法将"用转义字符"来替换掉
**/
let sonDiv = '<div data="'+JSON.stringify(data).replace(/"/g, '&quot;')+'"></div>';

$(parentDiv).append(sonDiv);

2.获取属性值对象

let data = JSON.parse($(sonDiv).attr('row');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值