0

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

确定元素是否是其父元素的最后一个子元素

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

https://github.com/MatthewMueller/cheerio

它给了我错误:

TypeError: Object XXXXXXX has no method 'is'

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

谢谢。

4

3 回答 3

1

这是一个示例,它添加了一种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>and<b>元素不是最后一个兄弟,但<i>元素是。

于 2013-02-28T06:07:00.373 回答
0

尝试

<script type="text/javascript">

    $(function()
    {
        $('dom').each(function()
        {
            var $this = $(this);
            if ( $this === $this.parent().last())
            {
                alert('got me!');
            }
        })
    });

</script>
于 2013-02-28T06:12:42.037 回答
0

检查jquery version它正在使用?

你可以用last-child-selector这个

例如: $("div span:last-child").css('background','red');

这是文档http://api.jquery.com/last-child-selector/

于 2013-02-28T06:23:33.823 回答