Использование имени класса для JavaScript if event.target [закрыто]

Можно ли использовать JavaScriptdocument.getElementsByClassName переменная вif заявление сevent.target ?

Я хочу добиться чего-то вроде этого:

var signInModals = document.getElementsByClassName("signInModal");

if (event.target == signInModals) {
        alert("It worked!");
}

Спасибо!

Источник
  • 2
    Не было бы проще просто проверить, есть ли у event.target этот класс?
  • 1
    getElementsByClassName возвращает HTMLCollection , поэтому он никогда не будет таким же, как event.target
  • 0
    @ Парень, инкогнито, как?
  • 3
    stackoverflow.com/questions/5898656/…
  • 0
    вы все смешиваете, ваш вопрос не имеет смысла
  • 0
    Это похоже на проблему XY ( xyproblem.info ). Лучший вопрос: чего вы пытаетесь достичь с помощью этого кода?
Codelisting
за 2 против
Лучший ответ

Вы пытаетесь сравнить коллекцию HTML с элементом. Это никогда не сработает. Вам нужно будет перебрать HTML-коллекцию и проверить каждую из них.

Похоже, вы пытаетесь узнать, есть ли у элемента класс, поэтому просто проверьте класс.

if(evt.target.classList.contains("signInModal"))

другой вариант - проверить, является ли он родительским (в зависимости от того, что такое evt)

if(evt.target.closest(".signInModal"))
  • 1
    if ( evt.target.matches('.signInModal') )
за 0 против

Ну, событие - это ссылка на сам объект, а не на его значение. Итак, вы говорите, что это объект, на который щелкнули этот объект, который я получил из имени класса. Ответ всегда будет ложным. Итак, чтобы ответить на ваш вопрос, да, но это не имеет смысла, вы, вероятно, захотите проверить, совпадает ли свойство.

Например: при нажатии этой кнопки измените цвет кнопки на тот же цвет, который имеет этот объект Html, а затем вы можете использовать оператор if, чтобы сказать, если (цвет кнопки == цвет объекта html) предупреждение ("Это сработало")

Codelisting
Популярные категории
На заметку программисту