есть ли способ получить класс при срабатывании события щелчка. Мой код, как показано ниже, работает только для идентификатора, но не для класса.
$(document).ready(function() {
$("a").click(function(event) {
alert(event.target.id + " and " + event.target.class);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<body>
<a href="#" id="kana1" class="konbo">click me 1</a>
<a href="#" id="kana2" class="kinta">click me 2</a>
</body>
</html>
код jsfiddle здесь
className
свойством DOM. Используйтеevent.target.className
.Ответы:
Пытаться:
$(document).ready(function() { $("a").click(function(event) { alert(event.target.id+" and "+$(event.target).attr('class')); }); });
источник
Он будет содержать полный класс (который может быть несколькими классами, разделенными пробелами, если элемент имеет более одного класса). В вашем коде он будет содержать либо «конбо», либо «кинта»:
Вы можете использовать jQuery для проверки классов по имени:
$(event.target).hasClass('konbo');
и добавить или удалить их с помощью addClass и removeClass .
источник
Вы получите весь класс в массиве ниже
источник
$(document).ready(function() { $("a").click(function(event) { var myClass = $(this).attr("class"); var myId = $(this).attr('id'); alert(myClass + " " + myId); }); })
<html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> </head> <body> <a href="#" id="kana1" class="konbo">click me 1</a> <a href="#" id="kana2" class="kinta">click me 2</a> </body> </html>
У меня это работает. В jQuery нет функции event.target.class.
источник
Если вы используете jQuery 1.7:
alert($(this).prop("class"));
или же:
alert($(event.target).prop("class"));
источник
Осторожно
target
, хотя может не работать со всеми браузерами, он хорошо работает с Chrome, но я считаю, что Firefox (или IE / Edge, не помню) немного отличается и использует srcElement. Я обычно делаю что-то вродеvar t = ev.srcElement || ev.target;
таким образом приводя к
$(document).ready(function() { $("a").click(function(ev) { // get target depending on what API's in use var t = ev.srcElement || ev.target; alert(t.id+" and "+$(t).attr('class')); }); });
Спасибо за хорошие ответы!
источник
target
работает с Firefox, потребуется IE / EdgesrcElement