javascript - Cheerio api 上的“$”混淆

标签 javascript jquery node.js cheerio

我对在 Node Cheerio api 中使用 $ 符号感到困惑

例如下面的代码

if(!error){
        var $ = cheerio.load(html);

    var title, release, rating;
    var json = { title : "", release : "", rating : ""};

    $('.header').filter(function(){
        var data = $(this);
        title = data.children().first().text();            
        release = data.children().last().children().text();

        json.title = title;
        json.release = release;
    })

为什么将 cheerio.load(html) 值设置为 $ 被认为是一个好习惯? 另外,我们如何在不导入 jquery 的情况下使用 $(.header)

最佳答案

Cheerio 实现了 jQuery 的子集。因此,现在我们知道 jQuery 通常使用 $ 进行命名空间,因此开发人员习惯了 $('selector') 语法。

现在,由于 Cheerio 实现了 jQuery 的核心功能,并且我们使用它而不是 jQuery,所以使用 $ 作为命名空间是有意义的。开发人员很熟悉,语法也相同。

当您导入 jQuery 时,jQuery 对象被分配给 $。当您使用 Cheeerio 时,cheeerio 对象将被分配给 $

我不会说这是一个好的做法。更像是一个大会。现在,我已经看到各种不使用 $ 的应用程序,而是使用 jQuery

对于您的第二个问题,我们将 jQuery 替换为 cheerio。因此,当您使用 $('.header') 时,您没有使用 jQuery,而是使用了 Cheerio。

关于javascript - Cheerio api 上的“$”混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51872466/

相关文章:

javascript - 在 Javascript 中更改复选框颜色

php - 发布选中和未选中的复选框

javascript - 如何验证 jquery-validation 中的选择框?

jquery - 使用 jquery 从 href 链接获取值

javascript - 并行执行中两个实例之间的 Protractor 延迟

json - 语法错误 : Unexpected token . JSON.stringify(database_params)

javascript - 有没有办法在 jQuery 中为事件 "bind"分配一个键,以便新的处理程序可以使用相同的键覆盖前一个处理程序?

javascript - jQuery 错误 - 未捕获的类型错误 : object is not a function

node.js - Mongoose: CastError: 转换为 ObjectId 失败,路径 “me” 处的值 “_id”

javascript - 如何将 onclick 事件附加到 XTemplate 元素 extjs?