Tobias Schäfer
Tobias Schäfer

Reputation: 1358

jQuery - Call a function on an element

I want to call a function to show and modify content like this:

$('#element').someFunction();

I wrote this function:

function someFunction(){
     $(this).show();
     //other stuff
}

But this don't work. Can someone give me a hint how to solve this.

Upvotes: 1

Views: 73

Answers (1)

Josh Crozier
Josh Crozier

Reputation: 240888

You could extend jQuery and create a custom method:

$.fn.someFunction = function() {
  return this.hide();
};

$('.element').someFunction();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="element">This should be hidden.</div>
<div class="element">This should be hidden.</div>

Internally .hide() will iterate over each element, but if you want to do this manually, you could just utilize the .each() method:

$.fn.someFunction = function() {
  return this.each(function() {
    // 'this' refers to the element here
  });
};

Upvotes: 8

Related Questions