如何用JavaScript提取HTML文件中pre标签内的文本?
解决方法
你的代码问题出在最后一行的text()——这是jQuery的方法,原生JavaScript的DOM元素并没有这个方法,改用原生的textContent或者innerText就能正常提取文本。
修正后的代码如下:
let parser = new DOMParser(); const div_new = parser.parseFromString(text, 'text/html'); let codes = div_new.body; let res = codes.pre.textContent; // 也可以使用 codes.pre.innerText console.log(res); // 输出结果: I am trying to extract it out
补充说明
textContent:获取元素内所有文本内容(包括隐藏元素的文本),是标准DOM属性,兼容性更好。innerText:获取元素在页面上实际显示的文本内容(会过滤掉样式隐藏的文本),行为更贴近用户视觉看到的内容。
你也可以用querySelector更精准定位pre标签,代码可简化为:
let parser = new DOMParser(); const doc = parser.parseFromString(text, 'text/html'); let res = doc.querySelector('pre').textContent;
内容的提问来源于stack exchange,提问作者dfadfdff
相关产品推荐
相关产品推荐

