使用jQuery的append()方法时,单引号后属性出现断裂问题
问题原因及解决方法
你这段代码的问题出在分多次调用.append()拼接HTML标签的方式上。
当你第一次执行append("<div id='")时,jQuery收到的是不完整的HTML片段,浏览器会尝试解析但无法生成完整的DOM元素,后续追加的"333"和"'></div>"会被当成普通文本内容处理,最终就出现了333'>这样的文本输出,而不是你想要的<div id="333"></div>元素。
正确写法有两种:
- 直接拼接完整的HTML字符串后一次性append:
$('#test').append("<div id='333'></div>");
- 使用jQuery的元素创建API(更安全,避免HTML注入风险):
$('#test').append($('<div>', { id: '333' }));
内容的提问来源于stack exchange,提问作者Pynox Team
相关产品推荐
相关产品推荐

