w3resource
jquery exercises

jQuery: Find the data passed with the on() method for each element

jQuery Events : Exercise-7 with Solution

Find the data passed with the on() method for each <p> element.
Sample Data :

HTML :

<p>Click on each header element to return the data passed with the on() method.</p>
 <h3>This is a header1.</h3>
 <h3>This is another header2.</h3> 

Sample Output :

Click on each header element to return the data passed with the on() method.

This is a header1.


This is another header2.

Header1. paragraph has Event data: 0

Header2. paragraph has Event data: 1

Solution:

HTML Code:

<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
  <meta charset="utf-8">
  <title>Click on each header element to return the data passed with the on() method</title>
</head>
<body>
<p>Click on each header element to return the data passed with the on() method.</p>
<h3>This is a header1.</h3>
<h3>This is another header2.</h3>
</body>
</html>

JavaScript Code:

$("h3").each(function(i){
   $(this).on("click", {x:i}, function(event){
     var info = "Header" + $(this).index() + ". paragraph has Event data: " + event.data.x;    
    $("<p>"+info+"</p>").appendTo( "body" );      
   });
});

Live Demo:

See the Pen jquery-events-exercise-7 by w3resource (@w3resource) on CodePen.


Contribute your code and comments through Disqus.

Previous: Click a header to add another.
Next: Change the background color of the

What is the difficulty level of this exercise?



New Content: Composer: Dependency manager for PHP, R Programming