今天写程序的时候碰到个情况,需要返回被选元素完整的html(outerHtml)而不是innerHtml.
比如下面的HTML
<a target="_blank">CF257C</a>
我需要输出<a target="_blank">CF257C</a>
,但是 $('a').html()
输出的是 CF257C。
首先 cheerio 没有实现 jQuery 的 outerHtml API,所以只能自己想办法实现。
在网上查了一圈,基本都是复制粘贴的 cheerio API 的垃圾文章。
花了好多时间实践,才找到了办法。结果代码非常简单。。看来以后还是要多读读源码
实现方法
console.debug(`${$(a)}`);
估计是 cheerio 改写了 toString 方法。。。