Подтвердить что ты не робот

Проверьте, является ли элемент div

Как проверить, является ли $(this) div, ul или blockquote?

Например:

if ($(this) is a div) {
  alert('its a div!');
} else {
  alert('its not a div! some other stuff');
}
4b9b3361

Ответ 1

Что-то вроде этого:

if(this.tagName == 'DIV'){
    alert("It a div!");
} else {
    alert("It not a div! [some other stuff]");
}

Ответ 2

Решения без jQuery уже отправлены, поэтому я отправлю решение с помощью jQuery

$(this).is("div,ul,blockquote")

Ответ 3

Без jQuery вы можете сказать this.tagName === 'DIV'

Имейте в виду, что "N" в tagName имеет верхний регистр.

Или, с большим количеством тегов:

/DIV|UL|BLOCKQUOTE/.test(this.tagName)

Ответ 4

if(this.tagName.toLowerCase() == "div"){
    //it a div
} else {
    //it not a div
}

edit: пока я писал, было дано много ответов, извините за двойственность

Ответ 5

Переходя через jQuery, вы можете использовать $(this).is('div'):

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

Ответ 6

Чтобы проверить, является ли этот элемент DIV

if (this instanceof HTMLDivElement) {
   alert('this is a div');
}

То же самое для HTMLUListElement для UL,
HTMLQuoteElement для blockquote

Ответ 7

Некоторые из этих решений немного за бортом. Все, что вам нужно, это tagName из обычного старого JavaScript. Вы действительно не получаете никакой пользы от повторной упаковки всего этого в jQuery еще раз и, особенно, запускаете некоторые из более мощных функций в библиотеке, чтобы проверить имя тега. Если вы хотите проверить его на этой странице, вот пример.

$("body > *").each(function() {
  if (this.tagName === "DIV") {
    alert("Yeah, this is a div");
  } else {
    alert("Bummer, this isn't");
  }
});

Ответ 8

Я улучшаю ответ Андрея Френкеля, просто хотел добавить его, и он стал слишком длинным, поэтому ушел сюда...

Думая о том, что CustomElements расширяет существующие и все еще может проверить, является ли элемент, скажем, input, заставляет меня думать, что instanceof - лучшее решение этой проблемы.

Следует помнить, что instanceof использует ссылочное равенство, поэтому HTMLDivElement родительского окна не будет таким же, как один из его iframe (или shadow DOM и т.д.).

Чтобы справиться с этим случаем, нужно использовать собственные классы окон checked element, например:

element instanceof element.ownerDocument.defaultView.HTMLDivElement

Ответ 9

Попробуйте использовать tagName

Ответ 10

let myElement =document.getElementById("myElementId");

if(myElement.tagName =="DIV"){

  alert("is a div");

}else{

  alert("is not a div");

}
/*What ever you may need to know the type write it in capitalised letters "OPTIO" ,"PARAGRAPH", "SPAN" AND whatever */