如何使用cheerio查询包含选择器自身标签在内的完整HTML内容
cheerio获取包含元素自身标签的完整内容方案
你使用$("body").html()默认只能拿到body标签内部的innerHTML内容,若需要返回包含body开闭标签本身的完整内容,需要获取元素的outerHTML,cheerio提供了两种常用实现方式:
方法1:使用全局$.html()方法传入选中的目标元素
const cheerio = require("cheerio"); const $ = cheerio.load(text); // 将选中的body节点作为参数传入$.html const fullBodyContent = $.html($("body")); console.log(fullBodyContent); // 输出结果: // <body class="body"> // <div> // <h1>Foo Bar</h1> // </div> // </body>
方法2:调用元素的prop()方法读取outerHTML属性
const cheerio = require("cheerio"); const $ = cheerio.load(text); const fullBodyContent = $("body").prop('outerHTML'); console.log(fullBodyContent); // 输出结果和方法1完全一致
补充说明:如果需要同时获取多个同级节点的完整外层内容,也可以把多个节点的集合传入
$.html()方法,就能拿到包含所有节点自身标签的完整内容。
内容的提问来源于stack exchange,提问作者Mudlabs
相关产品推荐
相关产品推荐

