Skip to content Skip to sidebar Skip to footer

How Does A JQuery Instance Appear As An Array When Called In Console.log?

When entered into a JavaScript console, a jQuery object appears as an array. However, it's still an instance of the jQuery object. var j = jQuery(); => [] console.log(j); =>

Solution 1:

I believe they have something like that:

// Adding items to an object like an Array:
var myObject = {splice : Array.prototype.splice};

Array.prototype.push.call(myObject, 1, 10, "foo");

// Getting items from an object like an Array:

alert(Array.prototype.slice.call(myObject, 0));

console.log(myObject);

alert(myObject);

Solution 2:

The console makes it look like an array because it has array-like properties. It has length and n keys using integers.


Solution 3:

When you call jQuery() you aren't passing any arguments to the function so it is returning an empty object. WHen you pass a selector as argument it creates an object of the elements that match the selector


Solution 4:

It returns an empty array, because it did nothing - array of elements affected.

Proper way to inspect would be

console.log(jQuery);

if you would do

console.log(jQuery('div'));

you will see that it returns array of elements.


Solution 5:

I think what you're trying to see are your object's properties. If that's the case, you're inadvertently converting the object into a string when you append it to another string. Use the , operator instead of + to show the object properties instead of the "stringified" version of the object:

console.log('test with string concat: ', j);

Post a Comment for "How Does A JQuery Instance Appear As An Array When Called In Console.log?"