You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:用JavaScript创建含×的span标签,×转义未生效

解决JavaScript生成HTML时×无法转换为乘号的问题

你当前代码的问题在于使用了textContent赋值×——textContent会把所有内容当作纯文本处理,不会解析HTML实体,所以浏览器只会原封不动显示×,而不会转换成×符号。

下面给你几种可行的解决方法:

方法1:使用innerHTML解析HTML实体

直接把textContent换成innerHTML,并传入正确的HTML实体×(不需要转义成×):

let closeModal = document.createElement('span');
closeModal.innerHTML = '×';
closeModal.classList.add('close');

innerHTML会自动解析HTML实体,生成对应的乘号符号。

方法2:直接使用Unicode字符(更安全)

如果担心innerHTML可能带来的XSS风险(比如内容包含用户输入时),推荐直接用乘号的Unicode字符或转义序列:

// 直接写入乘号字符
let closeModal = document.createElement('span');
closeModal.textContent = '×';
closeModal.classList.add('close');

// 或者用Unicode转义序列
closeModal.textContent = '\u00D7';

textContent支持直接识别Unicode字符,这样既安全又能正确显示乘号。

方法3:通过创建文本节点添加

也可以用document.createTextNode配合Unicode转义序列实现,效果和方法2一致:

let closeModal = document.createElement('span');
let timesNode = document.createTextNode('\u00D7');
closeModal.appendChild(timesNode);
closeModal.classList.add('close');

内容的提问来源于stack exchange,提问作者joyi61

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:54:23