2012-05-28 1 views
4

Я хочу знать тэгу объекта JQuery, я попробовал:доступа TagName из Jquery объекта

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

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

+0

Не забывайте, что объекты jQuery являются коллекциями, поэтому они могут обернуть один или несколько элементов DOM, текстовые узлы и т. Д. – hippietrail

ответ

8

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

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

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

alert(obj[0].tagName); 
+0

Специальные +1 для 'prop'. – VisioN

2

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

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

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

1

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

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

Example fiddle

Смежные вопросы