返回值:Element, Arrayget([index])

获取 jQuery 对象对应的 DOM 元素。

.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() 则会获取单个元素:

($('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>&nbsp;</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>

演示: