Я возился со встроенными атрибутами и использовал их для запуска событий с помощью jQuery, но я столкнулся с проблемой.Выбор атрибута jquery всегда возвращает false?
Я пытаюсь вызвать консольный журнал (в хроме), когда элемент имеет атрибут self-toggle="dropdown"
. Но с моим недостатком знаний я не могу заставить его работать.
Мой HTML (якорный тег для проверки):
<a href="#" self-toggle="dropdown">dropdown</a>
<a href="#">not dropdown</a>
Мой JQuery:
$(document).ready(function() {
$(this).on('click', function() {
if($(this).attr('[self-toggle]') == "dropdown") {
console.log('self-toggle: true');
} else {
console.log('self-toggle: false');
};
});
});
Почему это не работает, jsFiddle?
Вы имеете, это то, что я здесь делаю. Но вы не были привязаны к клику a, но вместо этого привязывались к клику документа. '$ (this) .on ('click'' привязывается к клику документа. Таким образом, в вашем обработчике $ (this) ссылался на документ, у которого нет атрибута. Поэтому вам нужно привязываться к клику элемента, поэтому $ (this) внутри обработчика ссылается на a, из которого вы можете получить значение атрибута. – artm