gpt4 book ai didi

node.js - 在 Cheerio 中使用 withStartIndices 选项时,element.startIndex 未定义

转载 作者:太空宇宙 更新时间:2023-11-03 21:52:47 25 4
gpt4 key购买 nike

当使用 Cheerio 解析 HTML 时,我需要 Node 的 startIndex,因此我使用以下代码指示 Cheerio 按照说明添加该属性 herehere :

const options = { withStartIndices: true };

const html = `
<template>
<h1>Hello!</h1>
</template>
<script>
const foo = () => {
console.log('bar')
}
</script>
<style>
h1{
color:blue;
}
</style>
`;

const $ = cheerio.load(html, { withStartIndices: true });
console.log( $('#element')[0].startIndex );

但这会产生以下输出:

undefined

最佳答案

在网上搜索并挖掘Cheerio的代码后,我发现Cheerio正在使用parse5默认情况下。为了获取 startIndex 属性,您必须指示 Cheerio 使用 htmlparser2xmlMode 选项设置为 true:

const options = {
xmlMode: true,
withStartIndices: true
}

const html = `
<template>
<h1>Hello!</h1>
</template>
<script>
const foo = () => {
console.log('bar')
}
</script>
<style>
h1{
color:blue;
}
</style>
`;

const $ = cheerio.load(html, options);
console.log( $('#element')[0].startIndex );

这会产生以下输出:

110

万岁!

关于node.js - 在 Cheerio 中使用 withStartIndices 选项时,element.startIndex 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49018783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com