← jQuery off()方法:事件的优雅卸载艺术 jQuery last()方法:轻松抓取集合中的最后一个元素 →

jQuery first()方法:快速定位集合中的首个元素

原创 2026-05-01 jQuery 已有人查阅

在操作 DOM 时,经常会选中一组元素,但实际只想对其中第一个下手。jQuery 的 first() 方法就是专门用来从匹配的元素中提取第一个元素的。它的名字很直白,功能也符合直觉。相对应的,如果想取之后一个元素,用 last() 方法就行。

简洁语法

$(selector).first()

这个方法不需要任何参数,但前面的 selector 是必填的,你得先告诉 jQuery 要从哪一组元素里找第一个。它返回的是一个只包含第一个匹配元素的 jQuery 对象,所以可以直接在后面链式调用其他 jQuery 方法。

示例一:从段落中精准抓取第一个

下面这个例子很直观。页面里混杂着多个元素,有 div、几个段落和一个 h3 标题。我们用 $("p") 选中所有段落,然后通过 first() 把其中的第一个段落单独拎出来,给它加上背景色。

<html>  
  
<head>  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"> </script>  
<script>  
$(document).ready(function() {  
$("button").click(function(){  
$("p").first().css("background-color", "lightblue");  
});  
});  
</script>  
</head>  
  
<body id = "main">  
  
<h2> 代码号学习编程:first() 方法基础运用 </h2>  
<div style = "border: 1px solid blue;">  
div 元素  
</div>  
<p style = "border: 1px solid blue;">  
这是第一个段落  
</p>  
<p style = "border: 1px solid blue;">  
第二个段落元素  
</p>  
  
<h3 style = "border: 1px solid blue;">  
h3 标题  
</h3>  
<p style = "border: 1px solid blue;">  
又一个段落元素  
</p>  
  
<p> 点击下方按钮,高亮第一个段落元素。 </p>  
<button> 点击高亮 </button>  
</body>  
  
</html>  

注意这里 $("p") 选中了三个段落,但 first() 把范围缩小到了文档中出现的第一个段落,也就是紧接着 div 下面那个。另外两个段落不受影响。这种"选一批、取一个"的模式在列表操作中很常用,比如要给新闻列表的第一条加个置顶样式。

示例二:在嵌套选择中精确定位

first() 可以和组合选择器配合使用,实现更精细的定位。下面这个例子,页面上有四个 div,每个 div 里面各包着一个 span。我们用 $("div span") 能选中所有四个 span,但加上 first() 后就只取第一个 span,也就是"span1",给它加上背景高亮。

<html>  
  
<head>  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"> </script>  
<script>  
$(document).ready(function() {  
$("button").click(function(){  
$("div span").first().css("background-color", "lightblue");  
});  
});  
</script>  
<style>  
div {  
border: 1px solid blue;  
}  
</style>  
</head>  
  
<body id = "main">  
  
<h2> 代码号学习编程:组合选择器配合 first() </h2>  
<div>  
<span> 代码号学员-A </span>  
</div>  
</br>  
<div>  
<span> 代码号学员-B </span>  
</div>  
</br>  
<div>  
<span> 代码号学员-C </span>  
</div>  
</br>  
<div>  
<span> 代码号学员-D </span>  
</div>  
<p> 点击下方按钮,高亮第一个 span 元素。 </p>  
<button> 点击高亮 </button>  
</body>  
  
</html>  

这里要特别注意,$("div span") 选中的是四个 span,不管它们分属不同的父容器,在 jQuery 的里它们是按 DOM 顺序排列的,first() 返回的就是整个文档中第一个出现的 span,而不是"每个 div 里的第一个 span"。如果你想要每个 div 的第一个 span,那得配合 .each() 或者 :first-child 选择器来做。

本节课程知识要点

first() 和 :first 选择器虽然效果类似,但机制不同。first() 是遍历方法,用在 jQuery 链式调用中更流畅;:first 是选择器,直接写在 $() 里面。我个人习惯在链式操作里优先用 first(),可读性好,而且不易和 CSS 伪类搞混。first() 返回的仍然是 jQuery 对象,哪怕原为空也不会报错,只是返回一个空。这种安全的特性让它在不确定元素是否存在时也能放心调用。

← jQuery off()方法:事件的优雅卸载艺术 jQuery last()方法:轻松抓取集合中的最后一个元素 →
分享笔记 (共有 篇笔记)
验证码:
微信公众号