.html()
是jQuery中用于获取或设置HTML内容的方法。它可以用于读取或修改元素的innerHTML。
$('#element').html('')
)原因:直接插入未处理的用户输入可能导致XSS漏洞 解决方案:
// 对用户输入进行转义
function escapeHtml(unsafe) {
return unsafe
.replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">")
.replace(/"/g, """)
.replace(/'/g, "'");
}
$('#element').html(escapeHtml(userInput));
原因:动态插入的元素上绑定的事件可能失效 解决方案:使用事件委托
$(document).on('click', '.dynamic-element', function() {
// 处理点击事件
});
原因:频繁操作DOM影响性能 解决方案:批量更新或使用文档片段
var html = '';
for(var i=0; i<100; i++) {
html += '<div>Item '+i+'</div>';
}
$('#container').html(html);
原因:插入的脚本可能不会按预期顺序执行 解决方案:手动控制脚本执行
$('#element').html(htmlWithScripts);
$('#element').find('script').each(function() {
$.globalEval(this.text || this.textContent || this.innerHTML || '');
});
.text()
- 插入纯文本,自动转义HTML.append()
- 在元素末尾添加内容.prepend()
- 在元素开头添加内容.after()
- 在元素之后插入内容.before()
- 在元素之前插入内容.text()
处理纯文本内容