использовать event.target для получения значения класса?

у меня есть элемент DOM с классом ='tag'.

я хочу проверить, является ли значение класса тегом, и предупредите сообщение, если это верно.

я записал:

    $("#thread").each(function(event) {
        if(event.target.class == 'tag') alert('yes');
    });

но это не работало. можно ли получить идентификатор с event.target.id, но не классом с этим кодом? каковы все значения, которые Вы можете иметь после event.target?

9
задан Leniel Maccaferri 18 June 2012 в 19:27
поделиться

3 ответа

Сначала аргумент событие работает только для обработчиков событий, а вы используете метод $.каждый .

Я не думаю, что Вы хотите/должны использовать $.каждый метод, так как Вы используете #id селектор, а id'ы должны быть уникальными.

Для проверки, содержит ли элемент определенный класс, можно использовать метод hasClass :

if ($("#thread").hasClass('tag')) {
  //...
}

Также если у вас есть элемент DOM, то для получения его атрибута класса, вы должны получить доступ к нему с помощью className вместо class, это потому что class является будущим зарезервированным словом в JavaScript, то же самое происходит с другими атрибутами типа для , должно быть доступно как htmlFor. ..

14
ответ дан 4 December 2019 в 06:22
поделиться

вы используете каждый метод jquery неправильно. для этого требуется два аргумента, ни один из них не является событием (которое бы отвечало целевому свойству). из docs:

$.each([52, 97], function(index, value) { 
  alert(index + ': ' + value); 
});

смотрите ответ CMS о правильном способе проверки того, имеют ли элементы заданное имя класса.

1
ответ дан 4 December 2019 в 06:22
поделиться

Здесь вы идете.

$("div").each(function (index, domEle) {
    if (domEle.hasClass("tag")) {
        console.log('yes');
    } else {
        console.log('no');
    }
});
0
ответ дан 4 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: