使用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为好的答案!