返回值:Element, Arrayget([index])
获取jQuery对象对应的DOM元素。
-
1.0 新增get([index])
index (Number) 可选参数,从0开始计数,确定获取哪个元素。
.get()
方法允许我们直接访问jQuery对象隐含的DOM节点。假设我们页面上有一个简单的无序列表:
<ul> <li id="foo">foo</li> <li id="bar">bar</li> </ul>
不带参数的 .get()
会返回所有的元素:
alert($('li').get());
调用这个方法会返回所有匹配的DOM节点,这些节点包含在一个标准的数组中:
[<li id="foo">, <li id="bar">]
如果指定了 index 参数, .get() 则会获取单个元素:
alert($('li').get(0));
由于索引 index 是以 0 开始计数的,所以上面代码返回了第一个列表项:
<li id="foo">
由于每个 jQuery 对象也会冒充为一个数组,所以我们也可以用直接用数组的取值运算符来获得列表项:
alert($('li')[0]);
然而,这种语法缺少某些 .get() 所具有的附加功能,比如可以指定索引值为负值:
alert($('li').get(-1));
负的索引值表示从匹配的集合中从末尾开始倒数,所以上面这个例子将会返回列表中最后一项:
<li id="bar">
示例:
选择文档中的所有div,并且作为一个数组返回。然后使用浏览器原生的 reverse 方法将数组翻转。
<!DOCTYPE html>
<html>
<head>
<style>
span { color:red; }
</style>
<script src="jquery.min.js"></script>
</head>
<body>
Reversed - <span></span>
<div>One</div>
<div>Two</div>
<div>Three</div>
<script>
function disp(divs) {
var a = [];
for (var i = 0; i < divs.length; i++) {
a.push(divs[i].innerHTML);
}
$("span").text(a.join(" "));
}
disp( $("div").get().reverse() );
</script>
</body>
</html>
演示:
示例:
给出点中元素的标签名。
<!DOCTYPE html>
<html>
<head>
<style>
span { color:red; }
div { background:yellow; }
</style>
<script src="jquery.min.js"></script>
</head>
<body>
<span> </span>
<p>In this paragraph is an <span>important</span> section</p>
<div><input type="text" /></div>
<script>
$("*", document.body).click(function (e) {
e.stopPropagation();
var domEl = $(this).get(0);
$("span:first").text("Clicked on - " + domEl.tagName);
});
</script>
</body>
</html>