javascript - .is() 在 Cheerio 中不存在?

标签 javascript jquery css node.js cheerio

我需要像这样检查一个元素是否是最后一个子元素

Determining if the element is the last child of its parent

但我在 node.js 上使用 cheerio 而不是 jquery(为了更轻量)

https://github.com/MatthewMueller/cheerio

它给了我错误:

TypeError: Object XXXXXXX has no method 'is'

有人可以确认吗?如果是这样,检查 Node 是否是最后一个子 Node 的优雅方法是什么?

谢谢。

最佳答案

这是一个添加 isLastSibling 的示例检查元素是否是最后一个兄弟元素的方法。

var cheerio = require('cheerio'),
    $ = cheerio.load('<p><a>1</a><b>2</b><i>3</i></p>'),
    $fn = Object.getPrototypeOf($());

$fn.isLastSibling = function() {
    return this.parent().children().last()[0] === this[0];
};

console.log(
    $('a').isLastSibling(),
    $('b').isLastSibling(),
    $('i').isLastSibling()
);

你应该得到的输出是false false true因为<a><b>元素不是最后的 sibling ,而是 <i>元素是。

关于javascript - .is() 在 Cheerio 中不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15128582/

相关文章:

javascript - 如何使div在事件发生时滑动到窗口底部

javascript - 如何让用户不访问数据库中的文件

html - 基于 CSS 的网格错位问题

html - 解析网格内容

javascript - $.ajax - 发送数据属性对象

javascript - HTML5 拖放 - 图像不会覆盖

jquery - 使用jquery过滤表格单元格的显示

javascript - 使文本适合 div

html - 基于内容高度的 margin-top 变化

javascript - 如何创建过滤器搜索以从表中的两列中搜索数据?