У меня есть элемент <i>
, имеющий класс comment-action edit-comment
.jQuery: не селектор не применяется
Я слушаю на click
событие на этом элементе и сразу вызвал добавить дополнительный класс disabled
ко всем этим <i>
с:
$('.comment-action.edit-comment').on('click', function(){
this.addClass('disabled');
// another logic ...
});
Это приводит к небольшому изменению слушателя событий, таким образом, чтобы быть
$('.comment-action.edit-comment:not(.disabled)').on('click', function(){ /* ... */ });
К сожалению, это похоже, что селектор :not()
полностью игнорируется, так как нажатие на <i>
с классом disabled
по-прежнему вызывает событие li Stener.
Я также попытался более читаемый вид:
$('.comment-action.edit-comment').not('.disabled').on('click', function(){ /* ... */ });
с тем же результатом (как я и ожидал).
Любая идея, где есть улов?
$ ('. Comment-action.edit-comment').? означает использование двух разных классов или что? else создать jsfiddle для получения дополнительной помощи coz кажется, что селектор неверен –
@HimeshAadeshara Не отвечайте, если вы не понимаете основы ... jQuery selector '$ ('. comment-action.edit-comment')' будет выбирать все HTML-элементы, имеющие 'class =" комментарий-действие edit-comment "' ... Соответственно '$ ('. Comment-action.edit-comment: not (.disabled) ') '** не должен ** выбирать элемент, имеющий' class = "комментарий-действие edit-comment disabled" '. – shadyyx