Ответ 1
Вам нужно сделать:
alert($(this).attr('value'));
Основной вопрос jquery. У меня есть элемент опции, как показано ниже.
<option class='select_continent' value='7'>Antarctica</option>
JQuery
$(".select_continent").click(function () {
alert(this.attr('value'));
});
Это дает ошибку, говоря, что this.attr не является функцией, поэтому я не правильно использую "this".
Как я могу заставить его предупредить 7?
Вам нужно сделать:
alert($(this).attr('value'));
Чтобы соответствовать заголовку этого вопроса, значение атрибута id
:
var myId = $(this).attr('id');
alert( myId );
НО, конечно, элемент должен уже иметь определенный элемент id, как:
<option id="opt7" class='select_continent' value='7'>Antarctica</option>
В сообщении OP это не так.
Обратите внимание, что, если вы не собираетесь выполнять какие-либо дальнейшие операции jQuery в атрибуте ID (в этой строке кода), то есть, если вы просто сохраняете возвращенный текст в переменная, тогда простая js выполняется быстрее:
alert( this.id );
Вы также можете попробовать таким образом
<option id="opt7" class='select_continent' data-value='7'>Antarctica</option>
JQuery
$('.select_continent').click(function () {
alert($(this).data('value'));
});
Удачи!!!!
$('.select_continent').click(function () {
alert($(this).attr('value'));
});