How to know the type of an jQuery object?
Asked Answered
B

3

10

I need to detect whether it's a <option> or something else

Blues answered 8/12, 2009 at 2:3 Comment(0)
S
15

You can use the is method to check whether a jQuery object matches a selector.

For example:

var isOption = someObj.is('option');
Seeto answered 8/12, 2009 at 2:11 Comment(0)
C
15

Try this:

yourObject[0].tagName;

Since a jQuery object is an array of objects you can retrieve the underlying DOM element by indexing that array. Once you have the element you can retrieve its tagName. (Note that even if you have one element you will still have an array, albeit an array of one element).

Chasten answered 8/12, 2009 at 2:7 Comment(0)
S
15

You can use the is method to check whether a jQuery object matches a selector.

For example:

var isOption = someObj.is('option');
Seeto answered 8/12, 2009 at 2:11 Comment(0)
C
1

You should be able to check the .nodeName property of the element. Something about like this should work for you:

// a very quick little helper function
$.fn.getNodeName = function() { 
  // returns the nodeName of the first matched element, or ""
  return this[0] ? this[0].nodeName : "";
};

var $something = $(".something");

alert($something.getNodeName());

I generally prefer using jQuery's .is() to test what something is.

Checks the current selection against an expression and returns true, if at least one element of the selection fits the given expression.

if ($something.is("option")) {
  // work with an option element
}
Cocke answered 8/12, 2009 at 2:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.