html()
方法是 jQuery 中用于获取或设置元素 HTML 内容的方法。当使用它来设置内容时,如果内容中包含特殊字符(如 <
, >
, &
, "
, '
等),可能会遇到显示问题。
如果不需要 HTML 标签,只是显示文本内容:
$('#element').text('This is <b>bold</b> & special');
function escapeHtml(text) {
return text.replace(/[&<>"'`]/g, function(match) {
return {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
'`': '`'
}[match];
});
}
$('#element').html(escapeHtml('This is <b>bold</b> & special'));
var text = document.createTextNode('This is <b>bold</b> & special');
$('#element').empty().append(text);
var str = 'This is <b>bold</b> & special';
$('#element').html($.parseHTML(str));
// 保留 HTML 标签但转义特殊字符
function safeHtml(html) {
var div = document.createElement('div');
div.textContent = html;
return div.innerHTML;
}
// 使用示例
var userContent = '<script>alert("XSS")</script> & <b>bold</b>';
$('#output').html(safeHtml(userContent));
以上方法可以根据具体需求选择使用,确保特殊字符正确显示的同时保持应用的安全性。
“中小企业”在线学堂
开箱吧腾讯云
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第28期]
腾讯云GAME-TECH游戏开发者技术沙龙
云+社区技术沙龙[第5期]
腾讯云GAME-TECH游戏开发者技术沙龙
API网关系列直播
腾讯云GAME-TECH游戏开发者技术沙龙
T-Day
腾讯云GAME-TECH游戏开发者技术沙龙
腾讯云GAME-TECH游戏开发者技术沙龙