22

A regular dom element is such as:

document.getElementById('a')

or

document.createElement('div')

But jQuery returns elements in another format, so for instance I'd like to convert what is returned by $('#a') to the same result as what is returned by document.getElementById('a')

Is this possible using jQuery?

thanks

Adriano
  • 19,463
  • 19
  • 103
  • 140
zjm1126
  • 63,397
  • 81
  • 173
  • 221

3 Answers3

45

You can reference the DOM element with .get(0) or [0], eg $('#foo')[0] assuming there is just one.

meder omuraliev
  • 183,342
  • 71
  • 393
  • 434
7
$('#a')[0]

// oops my answer is too short

Anantha Kumaran
  • 10,101
  • 8
  • 33
  • 36
7

That is what get() method was made for by JQuery team, consider:

var elem = $('#a')[0];

Or

var elem1 = $('#a').get(0);
var elem2 = document.getElementById('a');
alert(elem1 === elem2);

or longer version:

<!DOCTYPE HTML>
<html>
<body>   
<a id='a'></a>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
  <script>

    var elem1 = $('#a').get(0);
    var elem2 = document.getElementById('a');
    alert(elem1 === elem2);

  </script>  
</body>
</html>
Dan
  • 55,715
  • 40
  • 116
  • 154
Sarfraz
  • 377,238
  • 77
  • 533
  • 578
  • 1
    This should really be the selected answer. When you used the === (relational operator), it really drove it home for me. Thanks! – Benji A. Nov 06 '18 at 15:04