Доступ к TagName объекта jquery

Я хочу знать tagName объекта jquery, я попытался:

   var obj = $("<div></div>");
   alert($(obj).attr("tagName"));

Это предупреждение показывает мне undefined, Что я делаю не так?

3 ответа

Решение

tagName является свойством базового элемента DOM, а не атрибута, поэтому вы можете использовать prop, который является методом jQuery для доступа / изменения свойств:

alert($(obj).prop('tagName'));

Однако лучше получить прямой доступ к свойству DOM:

alert(obj[0].tagName);

Вам нужно получить доступ к базовому узлу DOM, так как у объектов jQuery нет tagName собственность и tagName это не свойство, не атрибут:

var obj = $("<div></div>");
alert(obj[0].tagName);

Обратите внимание, что я также удалил вызов jQuery во 2-й строке, так как obj это уже объект jQuery.

tagName является родным свойством элемента DOM, оно не является частью самого jQuery. Имея это в виду, используйте $()[0] чтобы получить элемент DOM из селектора jQuery, например так:

var obj = $("<div></div>");
alert(obj[0].tagName);

Пример скрипки

Другие вопросы по тегам