Имеет ли jQuery какую-либо функцию для определения типа тега элемента (ов) DOM, на который ссылается объект jQuery? - PullRequest
10 голосов
/ 25 февраля 2011

Имеет ли jQuery какую-либо функцию для определения типа тега элемента (ов) DOM, на который ссылается объект jQuery?Я пишу плагин jQuery и ...

jQuery.fn.myPlugin() {
    return this.each(function() {
       var $this = $(this);
       // <---------------------------------------HERE!
    });
}

Я хотел бы знать, является ли this элементом <input> или <div> без непосредственного использования DOM.

Ответы [ 4 ]

8 голосов
/ 25 февраля 2011

Сделайте это:

this.nodeName;

... или, чтобы быть в безопасности, преобразовать его в конкретный случай:

this.nodeName.toLowerCase();

Свойство nodeName - это свойство, которое широко поддерживается и даст вам имя тега в случае узла элемента (как в вашем случае).

3 голосов
/ 25 февраля 2011

Почему бы не использовать DOM напрямую?Поскольку у вас есть объект DOM, уже пригодный для this, я бы сказал, просто используйте его.Если у вас только есть объект jQuery, вы можете сделать:

$this.attr("tagName") == "DIV"

или

$this.is("div")

Но в этом нет необходимости.

1 голос
/ 25 февраля 2011

Вы можете использовать tagName:

this.tagName; //notice this is the DOM element not the jQuery object.

http://reference.sitepoint.com/javascript/Element/tagName

0 голосов
/ 27 марта 2014

применить метод prop("tagName") для получения тэга элемента html, например:

$this.prop("tagName");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...