我正在从页面中提取数据,但是我收到了这个错误 TypeError:$ .find不是函数`我已经安装了cheerio。当我把trm = $ .find(“。item-row [data-item =‘TRM’]”)。find(“。item -…
玩代码看起来像 var $ = cheerio.load( data ) 表达分配 $ 加载HTML文档的cheerio实例的变量。然后你可以像使用jQuery一样遍历dom。
var $ = cheerio.load( data )
$
将第20行更改为
$("body").find(".item-row[data-item='TRM']").find(".item-value > span");
会工作,因为我们正在选择 body 然后打电话给 find 方法对原始查询的返回值而不是cheerio本身的实例。
body
find
没有 $.find() 函数,就像jQuery中没有一个。有一个 .find() 方法 在jQuery对象上,但那不是什么 $ 代表。
$.find()
.find()
trm = $(".item-row[data-item='TRM']").find(".item-value > span");
搜索为“item-row”元素加载的标记,然后从它搜索的每个元素中搜索 <span> “item-value”元素中的元素。
<span>
就像在“真正的”jQuery中一样 $ 对象是一个 功能 。您可以对它进行函数调用,并传入您希望Cheerio在您加载的HTML标记中找到的选择器。
编辑 这里是一个工作测试。如果你 npm install cheerio 您可以使用Node自己尝试:
npm install cheerio
var cheerio = require("cheerio"); var $ = cheerio.load(`<body> <div class=item-row data-item=TRM> <div class=item-value> <span>THIS IS THE CONTENT</span> </div> </div> </body>`); var span = $(".item-row[data-item='TRM']").find(".item-value > span"); console.log(span.text());