saltandpepper
saltandpepper

Reputation: 1047

How to declare and use a function in jQuery

I am wondering how I should declare a function in a jQuery script.

What I've got now:

function adjust_menu() {
                alert("test test");
        };

but when I call it like this:

("#first_link").click(function() {
            adjust_menu();
       });

it doesn't work. What am I doing wrong?

Upvotes: 4

Views: 14912

Answers (3)

shoebox639
shoebox639

Reputation: 2312

EDIT: Your problem is definitely that you forgot the $ or jQuery before you used jQuery.

Also you can just do ("#first_link").click(adjust_menu)

Upvotes: 3

user113716
user113716

Reputation: 322492

This may be a typo, but you're missing the $ before the jQuery selector, and you need to be sure the DOM is ready before running this code:

$(function() {
    $("#first_link").click(function() {
         adjust_menu();
    });
});

Doing $(function() { ... }); is a shortcut for jQuery's .ready() method which makes sure the DOM is ready before your code runs. Selecting first_link does no good if it doesn't exist yet. :o)

Upvotes: 9

Nick Craver
Nick Craver

Reputation: 630409

Unless it's a typo, you're missing the $ or jQuery at the start:

$("#first_link").click(function() {
  adjust_menu();
});

Or a bit shorter, and maintaining context:

$("#first_link").click(adjust_menu);

In any case, you should be seeing an error in your console (provided you're executing this when #first_link is present (e.g. `document.ready)), always check your console to see what's blowing up.

Upvotes: 4

Related Questions