Jquery :last vs:last子选择器
我注意到,Jquery :last vs:last子选择器,jquery,jquery-selectors,Jquery,Jquery Selectors,我注意到,$('filter:last')与jQuery中的$('filter:last child')不同 我尝试了jQuery文档,但很难理解:last还有什么其他用途,以及它们为什么都存在 显然,:last是一个jQuery扩展,不在CSS规范中。因此,我想到了一个问题:它与传统的“最后一个孩子”有何不同。另外,jQuery中碰巧有一个.last()方法,据说它比$('filter:last')更有效,那么:last选择器有什么用呢?它们非常相似。区别在于如果你有 <div>
$('filter:last')
与jQuery中的$('filter:last child')
不同
我尝试了jQuery文档,但很难理解:last
还有什么其他用途,以及它们为什么都存在
显然,
:last
是一个jQuery扩展,不在CSS规范中。因此,我想到了一个问题:它与传统的“最后一个孩子”有何不同。另外,jQuery中碰巧有一个.last()
方法,据说它比$('filter:last')
更有效,那么:last
选择器有什么用呢?它们非常相似。区别在于如果你有
<div>
<p>hi</p>
<p>bye</p>
</div>
<div>
<p>hi</p>
<p>bye</p>
</div>
嗨
再见
嗨
再见
$('p:last child')
将选择这两个元素,而$('p:last')
将只选择第二个元素。同样,同样的事情也可以用$('p').last()
完成,方法是添加:last
,作为选择器jQuery允许使用带有:last
的筛选器,而无需将筛选器的参数设置为函数。:last选择器只匹配单个元素,:最后一个子项可以匹配多个:每个父项一个
请参见下面的示例以获得更好的说明-
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>last-child demo</title>
<style>
span.solast {
text-decoration: line-through;
}
</style>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<div>
<span>John,</span>
<span>Karl,</span>
<span>Brandon,</span>
<span>Sam</span>
</div>
<div>
<span>Glen,</span>
<span>Tane,</span>
<span>Ralph,</span>
<span>David</span>
</div>
<table>
<tr><td>First Row</td></tr>
<tr><td>Middle Row</td></tr>
<tr><td>Last Row</td></tr>
</table>
<table>
<tr><td>Second Table First Row</td></tr>
<tr><td>Second Table Middle Row</td></tr>
<tr><td>Second Table Last Row</td></tr>
</table>
<script>
$( "div span:last-child" )
.css({ color:"red", fontSize:"80%" })
.hover(function() {
$( this ).addClass( "solast" );
}, function() {
$( this ).removeClass( "solast" );
});
$( "table tr:last" ).css({ backgroundColor: "yellow", fontWeight: "bolder"
});
</script>
</body>
</html>
最后一个孩子演示
斯潘·索拉斯特{
文字装饰:线条贯通;
}
厕所,
卡尔,
布兰登,
山姆
格伦,
Tane,
拉尔夫,
大卫
第一排
中排
最后一排
第二个表格第一行
第二张桌子中间一行
第二张表最后一行
$(“分区范围:最后一个孩子”)
.css({颜色:“红色”,字体大小:“80%”)
.hover(函数(){
$(本).addClass(“solast”);
},函数(){
$(此).removeClass(“solast”);
});
$(“table tr:last”).css({backgroundColor:“黄色”,fontwweight:“粗体”
});
您可以在上面的代码中看到:last选择器只更改一个tr的黄色背景,而不是两个tr的黄色背景,这意味着:last只选择单个元素。鉴于:last child将选择每个元素last child。:While:last仅匹配单个元素,:last child可以为每个父元素匹配多个:一个。-这其中哪一部分不清楚?我在看。我错了。@cale_b:那部分是应该读医生的部分有,也有……;)«更好的说明»将使用代码段进行优化。稍微探索一下编辑模式的图标。这是一个很好的例子,但是@LouySpatriceBesette说明了一个很好的观点。请尝试编辑您的文章,并使用代码片段对其进行一点优化。嗨@LouysPatriceBesette我是stackoverflow的新手,请您在这里提及如何使用代码片段,我不太确定您在说什么有一篇详细的博客文章。