请帮忙。
为什么 jquery addClass()
不能与 event.target
一起使用?
我编写了一个代码,它应该在单击时在目标上添加类,但它不起作用,并且它说,e.target.addClass
不是一个函数。
代码:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Class Test</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<style>
.big {
font-size: 5em;
}
.small {
font-size: 1em;
}
</style>
</head>
<body>
<p>This is the text</p>
<script>
$(function() {
$("p").click(function(e) {
$("a").removeClass("big").addClass("small");
$("this").addClass("big"); //This doesn't work
e.target.addClass("big"); //nor this one
});
});
</script>
</body>
</html>
最佳答案
基本上,e.target 将是一个 javascript
对象,您必须先将其转换为 Jquery
对象,然后才能使用它的函数,例如 .addClass()
尝试,
$(e.target).addClass("big");
同时,$("this").addClass("big");
此代码将不起作用,因为您将 this
作为字符串传递。 this
也是一个 javascript 对象,您也需要将其转换为 jquery 对象,如 $(this)
关于jquery addClass() 不适用于 event.target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211129/