使用append添加含多个双引号的img元素的写法是否正确?
关于jQuery append添加带双引号img标签的正确性解答
嘿,你的写法是完全没问题的,不会有语法或功能上的问题~
为什么你的代码可行?
你在字符串里使用了转义字符\"来表示HTML属性里的双引号,这在JavaScript的字符串语法中是合法的。jQuery的append()方法可以正确解析这个HTML字符串,最终会把<img src="images/king.png" alt="king">这个元素正常添加到目标节点里。
可以优化的写法(更清晰安全)
虽然你的代码没问题,但有几种写法能避免转义的麻烦,还能提升代码的安全性和可读性:
用单引号包裹HTML字符串
这样内部的双引号就不需要转义了,代码看起来更清爽:$($(".item .label")[0]).append(' <img src="images/king.png" alt="king"> ');直接创建jQuery DOM元素(推荐)
如果以后涉及动态属性值(比如src/alt是变量),这种方式能避免字符串拼接的风险(比如XSS),也更易维护:// 创建img元素并配置属性 const kingImg = $('<img>', { src: 'images/king.png', alt: 'king' }); // 添加到目标节点 $($(".item .label")[0]).append(kingImg);
内容的提问来源于stack exchange,提问作者Tak
相关产品推荐
相关产品推荐

