使用JQuery获取触发事件的元素的类
无论如何,点击事件被触发时,得到类。 我的代码如下,它只适用于id而不是类。
HTML:
<html> <body> <a href="#" id="kana1" class="konbo">click me 1</a> <a href="#" id="kana2" class="kinta">click me 2</a> </body> </html>
JQuery的:
$(document).ready(function() { $("a").click(function(event) { alert(event.target.id+" and "+event.target.class); }); });
jsfiddle代码在这里
尝试:
$(document).ready(function() { $("a").click(function(event) { alert(event.target.id+" and "+$(event.target).attr('class')); }); });
这将包含完整的类(如果元素具有多个类,则可能是多个空格分隔的类)。 在你的代码中将包含“konbo”或“kinta”:
event.target.className
你可以使用jQuery来按名称检查类:
$(event.target).hasClass('konbo');
并使用addClass和removeClass添加或删除它们。
如果你正在使用jQuery 1.7:
alert($(this).prop("class"));
要么:
alert($(event.target).prop("class"));
<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> <script> $(document).ready(function() { $("a").click(function(event) { var myClass = $(this).attr("class"); var myId = $(this).attr('id'); alert(myClass + " " + myId ); }); }) </script>> </body> </html>
这对我有用。 jQuery中没有event.target.class函数。
小心,因为target
可能不适用于所有浏览器,它适用于Chrome,但我认为Firefox(或IE /边缘,不记得)是有点不同,并使用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')); }); });
Thx为好的答案!