本人学习过程中编写,定有不足之处,如果有错误,请您积极指正;如果有帮助,请不要吝啬您的赞美(点赞),欢迎各位大佬点赞评论。

真实的场景是这样的,今天在进行业务改进,需向某html之前添加其他元素,而该元素内部需添加onclick属性,eg:

let shu='Goo7';
let str = "<td><a onclick='delete_goods("+sku+")'>删除</a></td>";
$("#bottom_goods_tr").before(str);

但是这种添加方法并不能使onclick属性正常使用。查阅资料发现,这种处理方法,是在es6之前非常老套的字符串拼接方法,不能一劳永逸的解决字符串拼接所带来的各种问题。而使用es6中的模板字符串方法,发现onclick属性可以正常使用。eg:

let shu='Goo7';
let str = `<td><a onclick="delete_goods('${sku}')">删除</a></td>`; 
$("#bottom_goods_tr").before(str);

注意

1.模板字符串的最外层不是单引号,而是` `;
2.模板字符串中插入变量不需要加+号,而是直接将变量添加入${}中进行拼接

更多推荐

es6模板字符串解决向html添加元素,元素中onclick中函数属性值无效的问题