jQuery API

.get()

.get( [index] ) Returns: Element, Array

Description: Retrieve the DOM elements matched by the jQuery object.

  • version added: 1.0.get( [index] )

    indexA zero-based integer indicating which element to retrieve.

The .get() method grants us access to the DOM nodes underlying each jQuery object. Suppose we had a simple unordered list on the page:

<ul>
  <li id="foo">foo</li>
  <li id="bar">bar</li>
</ul>

Without a parameter, .get() returns all of the elements:

alert($('li').get());

All of the matched DOM nodes are returned by this call, contained in a standard array:

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

With an index specified, .get() will retrieve a single element:

($('li').get(0));

Since the index is zero-based, the first list item is returned:

<li id="foo">

Each jQuery object also masquerades as an array, so we can use the array dereferencing operator to get at the list item instead:

alert($('li')[0]);

However, this syntax lacks some of the additional capabilities of .get(), such as specifying a negative index:

alert($('li').get(-1));

A negative index is counted from the end of the matched set, so this example will return the last item in the list:

<li id="bar">

Examples:

Example: Selects all divs in the document and returns the DOM Elements as an Array, then uses the built-in reverse-method to reverse that array.

<!DOCTYPE html>
<html>
<head>
  <style>
  span { color:red; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.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>

Demo:

Example: Gives the tag name of the element clicked on.

<!DOCTYPE html>
<html>
<head>
  <style>
  span { color:red; }
  div { background:yellow; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.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>

Demo:

Support and Contributions

Need help with .get() or have a question about it? Visit the jQuery Forum or the #jquery channel on irc.freenode.net.

Think you've discovered a jQuery bug related to .get()? Report it to the jQuery core team.

Found a problem with this documentation? Report it on the GitHub issue tracker

  • Pierre

    What happens when the collection is empty?

    Does .get(0) return null?

    • http://sitr.us/ Jesse Hallett

      It returns undefined; which is the same behavior you get when you try to access an Array index that has no value.

  • http://profiles.yahoo.com/u/ZE4JAMQ6SZHZYORMDHRXQL33VU TaberJ

    Something of note: When you call .get(0) on an element that contains .data the data will be returned intact, which is pretty good! For example:


    var el = $('a tag here').attr('href', 'home.html').data('lastVisited', { date: new Date(), pageName: document.location.href }).get(0);

    ...

    alert($(el).data('lastVisited').date);

    (If I use an empty anchor HTML tag in place of “a tag here” Disqus treats it as a link.)

  • http://www.micro-watt.ca Guillaume Hamilton

    Is there a similar function to .get(), but instead of returning a DOM element it returns a jQuery Object ?

    • http://www.learningjquery.com/ Karl Swedberg

      .eq()

      • Adam Lofts

        This is not strictly true.

        eq will reduce the set of elements in the jquery context as well as returning the specified index.

        • Adam Lofts

          Ah – please ignore that comment.

          • Some

            test

          • Som

            test2

          • Som

            test3

          • Som

            test4

          • Som

            test5

          • Som

            test6

          • Som

            test7

  • Ahoj

    aaaaaaaaaaaaaaaa