.get()

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

.get( index )返回类型:Element

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

.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.jquery.com/jquery-1.10.2.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 ).click(function( event ) {
event.stopPropagation();
var domElement = $( this ).get( 0 );
$( "span:first" ).text( "Clicked on - " + domElement.nodeName );
});
</script>
</body>
</html>

演示:

.get()返回类型:Array

描述:检索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.jquery.com/jquery-1.10.2.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>

演示: