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

JavaScript如何获取DIV的纯文本值(去除HTML标签)

解决DIV元素获取纯文本值的问题

嘿,这个问题我之前也踩过坑!你之所以alert弹窗里会出现HTML标签,大概率是因为你获取DIV内容的时候用了innerHTML属性——它会返回包含所有HTML标签的完整内容,而不是你设置的纯字符串。下面给你两种靠谱的解决办法:

方法一:用原生DOM的纯文本属性(推荐)

DOM元素提供了专门获取纯文本的属性,直接用它们就能拿到你要的"AMD"、"APPLE"这类纯字符串:

错误写法(会带HTML标签)

function outputStock() {
  const stockDiv = document.getElementById('你的DIV元素ID');
  alert(stockDiv.innerHTML); // 这里会弹出带HTML标签的内容
}

正确写法(获取纯文本)

function outputStock() {
  const stockDiv = document.getElementById('你的DIV元素ID');
  // 方法1:textContent(W3C标准,获取所有文本,包括隐藏元素的文本)
  alert(stockDiv.textContent);
  // 方法2:innerText(考虑页面样式,只获取可见的文本)
  // alert(stockDiv.innerText);
}

两者的小区别:textContent是W3C定义的标准属性,会返回元素里所有的文本内容(包括被CSS隐藏的部分);innerText则会考虑当前页面的样式,只返回用户能看到的文本。一般场景下用textContent就足够了。

方法二:正则表达式去除HTML标签(不推荐)

如果因为特殊场景没法用原生属性,也可以用正则把字符串里的HTML标签替换掉,但这种方法容易有边缘情况(比如标签里的特殊字符),所以只作为备选:

function stripHtmlTags(str) {
  return str.replace(/<[^>]*>/g, '');
}

function outputStock() {
  const stockDiv = document.getElementById('你的DIV元素ID');
  const pureText = stripHtmlTags(stockDiv.innerHTML);
  alert(pureText);
}

记住,优先用方法一,原生属性更可靠也更高效!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:18:37