Как узнать тип объекта jQuery?

Мне нужно определить, есть ли это <option> или что-то еще

Ответ 1

Вы можете использовать метод is, чтобы проверить, соответствует ли объект jQuery селектору.

Например:

var isOption = someObj.is('option');

Ответ 2

Попробуйте следующее:

yourObject[0].tagName;

Поскольку объект jQuery представляет собой массив объектов, вы можете получить базовый элемент DOM, индексируя этот массив. Когда у вас есть элемент, вы можете получить его tagName. (Обратите внимание, что даже если у вас есть один элемент, у вас все равно будет массив, хотя бы массив из одного элемента).

Ответ 3

Вы должны иметь возможность проверить свойство .nodeName этого элемента. Что-то вроде этого должно работать на вас:

// 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());

Обычно я предпочитаю использовать jQuery .is(), чтобы проверить, что-то есть.

Проверяет текущий выбор выражение и возвращает true, если на хотя бы один элемент выбора соответствует данному выражению.

if ($something.is("option")) {
  // work with an option element
}