首页 > 其他分享 >js 如何解析带有html标签的内容

js 如何解析带有html标签的内容

时间:2024-06-20 14:32:35浏览次数:27  
标签:htmlString HTML DOM 标签 innerHTML js html var tempDiv

在JavaScript中解析带有HTML标签的内容,通常是为了提取信息或转换HTML结构为可操作的对象。

以下几种方式可以实现:

1. 使用DOMParser

        如果想将HTML字符串解析成DOM节点以便进一步操作(比如查询、修改等),可以使用DOMParser。这是一个非常强大的工具,特别是在处理复杂的HTML结构时。

function parseHTML(htmlString) {
    var parser = new DOMParser();
    var doc = parser.parseFromString(htmlString, 'text/html');
    return doc.body;
}

var htmlString = "<div><h1>Hello</h1><p>World</p></div>";
var parsedHTML = parseHTML(htmlString);

// 现在你可以像操作DOM一样操作parsedHTML
console.log(parsedHTML.querySelector('h1').textContent); // 输出: Hello

2. 使用innerHTML (在浏览器环境中)

        如果是将HTML字符串插入到现有DOM中并让浏览器自动解析,可以直接设置元素的innerHTML属性。

var container = document.getElementById('contentContainer');
var htmlString = "<div><h1>Hello</h1><p>World</p></div>";

// 将HTML字符串插入页面
container.innerHTML = htmlString;

// 现在这个HTML已经成为DOM的一部分,可以进行查询或操作
console.log(container.querySelector('h1').textContent); // 输出: Hello

3. 只提取文本内容(去除HTML标签)

        如果目的是从HTML字符串中提取纯文本内容,而不保留任何HTML结构,可以使用上面提到的removeHTMLTag函数,或者直接利用DOM解析后的文本内容。

function extractTextFromHTML(htmlString) {
    var tempDiv = document.createElement('div');
    tempDiv.innerHTML = htmlString;
    return tempDiv.textContent || tempDiv.innerText || '';
}

var htmlString = "<p>Some <b>bold</b> and <i>italic</i> text.</p>";
console.log(extractTextFromHTML(htmlString)); // 输出: Some bold and italic text.

标签:htmlString,HTML,DOM,标签,innerHTML,js,html,var,tempDiv
From: https://blog.csdn.net/m0_72642319/article/details/139831706

相关文章

  • 学生个人html静态网页制作 基于HTML+CSS+JavaScript+jquery仿苏宁易购官网商城模板
    ......
  • 山东菏泽家乡网页代码 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页
    ......
  • HTML(13)——显示模式
    显示模式:标签的显示方式作用:布局网页时,根据标签的显示模式选择合适的标签摆放内容显示模式块级元素独占一行宽度默认为父级的100%添加宽高属性生效行内元素 一行可以显示多个设置宽高属性不生效宽高尺寸由内容撑开行内块元素一行可以显示多个设置宽高属性生效宽高尺寸......
  • 绝杀 GETPOST 嵌套的 JSON 参数
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于Web应用程序中的数据传输。在HTTP数据包信息传递时,JSON扮演着非常正常的角色,因为它是一种通用的数据格式,可以被多种编程语言和应用程序所支持。当客户端向服务器发送HTTP请求时,请求头中可以指定请求体的数据......
  • vue(vue.js) 监视属性与深度监视
    原文链接:vue(vue.js)监视属性与深度监视–每天进步一点点(longkui.site) 1.监视属性监视属性:监视某个属性的变化小案例:<!DOCTYPEhtml><htmllang="en"><body> <divid="root"><h2>今天天气很{{hot?'热':'冷'}}</h2&g......
  • Nodejs基本概念
     Node.js基本概念前言Node.js是一个基于ChromeV8引擎的JavaScript运行环境,主要用于构建服务器端应用。由于其高效的事件驱动和非阻塞I/O模型,Node.js在处理高并发和实时应用方面具有显著优势。本篇文章将介绍Node.js的基本概念,帮助初学者快速上手。1.什么是No......
  • 7个简单棘手的JS问题
    文章目录7个简单但棘手的JavaScript面试问题1.意外全局变量QuestionAnswer2.数组的length属性QuestionAnswer3.鹰眼测试Question4.自动分号插入QuestionAnswer5.经典问题:棘手的闭包QuestionAnswer**Phase1****Phase2**6.浮点数计算QuestionAnswer7.变量提升Que......
  • js 在vscode中让自己的api获得类型提示,成员补全的能力
    我的项目不是正经的js项目,它经常需要单个文件打开,并且调用接口来自另一种语言实现创建API.d.ts文件为接口自动生成类型标记文件,格式如下这里的类型来自另一门语言自动生成,不是js的类型,但我觉得无所谓吧declarenamespaceAPI{ /** *成员的注释 */constAge:String......
  • SEETF-2023 express-javascript-security ejs相关漏洞
    今天做个ejs相关题目。进入页面只发现一个输入框,题目标签是ejs相关,去github看看源码,发现ejs版本为3.1.9,可以确定地是rce漏洞。接下来说说这个rce漏洞。3.1.9版本的rce漏洞主要是因为使用了这个模板来构建网页逻辑导致的。点击查看代码//index.jsconstexpress=require('e......
  • vue3标签模板上的ref类型注解
    子组件<scriptsetuplang="ts">import{ref,defineExpose}from'vue';constnum=ref<number>(10)defineExpose({num,//把值暴露出去,父级可以通过ref获取})</script><template><h1>我是组件</h1></template&g......