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?


Solution 1:

You need to do:

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

Solution 2:

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.