How do I compare two jQuery objects for identity?

Solution 1:

You can also do:

 if(val.is(this))

Solution 2:

Using the $() function will always create a new object, so no matter what, your equality check there will always fail.

For example:

var div = document.getElementById('myDiv');

$(div) === $(div);   // false!

Instead, you could try just storing the actual DOM elements, since those are just referred to inside jQuery objects.

val = $('#box'+index).get(0);
...
if (this !== val) { }