我需要检查一个元素是否是最后一个子元素,如下所示
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'
有人能确认一下吗?如果是,那么检查节点是否是最后一个子节点的优雅方法是什么?
谢谢。
发布于 2013-02-28 14:07:00
下面的示例添加了一个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>
元素不是最后一个兄弟元素,而<i>
元素是最后一个兄弟元素。
发布于 2013-02-28 14:12:42
试一试
<script type="text/javascript">
$(function()
{
$('dom').each(function()
{
var $this = $(this);
if ( $this === $this.parent().last())
{
alert('got me!');
}
})
});
</script>
发布于 2013-02-28 14:23:34
检查它正在使用的jquery version
吗?
您可以使用last-child-selector
来完成此操作
例如:$("div span:last-child").css('background','red');
这是文档的http://api.jquery.com/last-child-selector/
https://stackoverflow.com/questions/15128582
复制相似问题