Please help.
Why is the jquery addClass()
not working with event.target
?
I have made a code and it supposed to add class on the target when clicked, but it does not work, and it says,e.target.addClass
is not a function.
CODE:
<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>
Change this line
to
And further if you need it with the
event
itself then you can useBasically e.target will be a
javascript
object, you have to convert it into aJquery
object before utilizing its functions like.addClass()
Try,
and at the same time,
$("this").addClass("big");
this code will not work since you are passingthis
as a string.this
also a javascript object, you need to convert that too as a jquery object like$(this)
Since
.addClass()
is a jQuery method, you need a jQuery object, so converte.target
to jQuery object by wrapping it inside$
:Beside that, the other solution is to use
$(this)
. you don't need to wrapthis
inside" "
:Updated Fiddle
You have two problem:
Try this:
Demo
"this"=>this