无论如何都会在点击事件被触发时获取该类。我的代码如下,它只适用于id但不适用于类。
$(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 code here
答案 0 :(得分:120)
尝试:
$(document).ready(function() {
$("a").click(function(event) {
alert(event.target.id+" and "+$(event.target).attr('class'));
});
});
答案 1 :(得分:93)
这将包含完整的类(如果元素有多个类,则可以是多个空格分隔的类)。在您的代码中,它将包含“konbo”或“kinta”:
event.target.className
您可以使用jQuery按名称检查类:
$(event.target).hasClass('konbo');
并使用addClass和removeClass添加或删除它们。
答案 2 :(得分:3)
您将在数组下面获得所有的类
event.target.classList
答案 3 :(得分:2)
$(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函数。
答案 4 :(得分:1)
如果您使用的是jQuery 1.7:
alert($(this).prop("class"));
或:
alert($(event.target).prop("class"));
答案 5 :(得分:0)
小心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'));
});
});
谢谢你的答案!