stef
stef

Reputation: 27789

jquery: how to get the value of id attribute?

Basic jquery question. I have an option element as below.

<option class='select_continent' value='7'>Antarctica</option>  

jquery

$(".select_continent").click(function () {
  alert(this.attr('value'));
});

This gives an error saying this.attr is not a function so im not using "this" correctly.

How can i get it to alert 7?

Upvotes: 51

Views: 349544

Answers (4)

cssyphus
cssyphus

Reputation: 40096

To match the title of this question, the value of the id attribute is:

var myId = $(this).attr('id');
alert( myId );

BUT, of course, the element must already have the id element defined, as:

<option id="opt7" class='select_continent' value='7'>Antarctica</option>

In the OP post, this was not the case.


IMPORTANT:

Note that plain js is faster (in this case):

var myId = this.id
alert(  myId  );

That is, if you are just storing the returned text into a variable as in the above example. No need for jQuery's wonderfulness here.

Upvotes: 69

saleem ahmed
saleem ahmed

Reputation: 337

You can also try this way

<option id="opt7" class='select_continent' data-value='7'>Antarctica</option>

jquery

$('.select_continent').click(function () {
alert($(this).data('value'));
});

Good luck !!!!

Upvotes: 5

billah77
billah77

Reputation: 194

$('.select_continent').click(function () {
    alert($(this).attr('value'));
});

Upvotes: 3

danjarvis
danjarvis

Reputation: 10190

You need to do:

alert($(this).attr('value'));

Upvotes: 94

Related Questions