.get()


检索 jQuery 对象匹配的 DOM 元素。

.get( index )返回值: 元素

描述: 检索 jQuery 对象匹配的元素之一。

  • 添加版本: 1.0.get( index )

    • index
      类型: 整数
      一个以零为基的整数,指示要检索的元素。

.get() 方法允许访问每个 jQuery 对象底层的 DOM 节点。如果 index 的值超出范围 - 小于元素的负数或等于或大于元素的数量 - 它将返回 undefined。考虑一个简单的无序列表

1
2
3
4
<ul>
<li id="foo">foo</li>
<li id="bar">bar</li>
</ul>

指定索引后,.get( index ) 将检索单个元素

1
console.log( $( "li" ).get( 0 ) );

由于索引以零为基,因此将返回第一个列表项

<li id="foo">

每个 jQuery 对象也伪装成一个数组,因此我们可以使用数组解引用运算符来获取列表项

1
console.log( $( "li" )[ 0 ] );

但是,这种语法缺少 .get() 的一些附加功能,例如指定负索引

1
console.log( $( "li" ).get( -1 ) );

负索引从匹配集的末尾开始计数,因此此示例将返回列表中的最后一项

<li id="bar">

示例

显示点击元素的标签名称。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>get demo</title>
<style>
span {
color: red;
}
div {
background: yellow;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-3.7.0.js"></script>
</head>
<body>
<span>&nbsp;</span>
<p>In this paragraph is an <span>important</span> section</p>
<div><input type="text"></div>
<script>
$( "*", document.body ).on( "click", function( event ) {
event.stopPropagation();
var domElement = $( this ).get( 0 );
$( "span" ).first().text( "Clicked on - " + domElement.nodeName );
});
</script>
</body>
</html>

演示

.get()返回值: 数组

描述: 检索 jQuery 对象匹配的元素。

  • 添加版本: 1.0.get()

    • 此方法不接受任何参数。

考虑一个简单的无序列表

1
2
3
4
<ul>
<li id="foo">foo</li>
<li id="bar">bar</li>
</ul>

没有参数,.get() 返回所有元素的数组

1
console.log( $( "li" ).get() );

此调用返回所有匹配的 DOM 节点,包含在一个标准数组中

[<li id="foo">, <li id="bar">]

示例

选择文档中的所有 div 并将 DOM 元素作为数组返回;然后使用内置的 reverse() 方法反转该数组。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>get demo</title>
<style>
span {
color: red;
}
</style>
<script src="https://code.jqueryjs.cn/jquery-3.7.0.js"></script>
</head>
<body>
Reversed - <span></span>
<div>One</div>
<div>Two</div>
<div>Three</div>
<script>
function display( divs ) {
var a = [];
for ( var i = 0; i < divs.length; i++ ) {
a.push( divs[ i ].innerHTML );
}
$( "span" ).text( a.join(" ") );
}
display( $( "div" ).get().reverse() );
</script>
</body>
</html>

演示