1. ホーム
  2. jquery

[解決済み] jqueryでspanからテキストを取得するための$(this).val()が動作しない。

2022-11-12 12:34:15

質問

このhtmlを与えると、クリックしたときにそこから"August"を取得したいのです。

<span class="ui-datepicker-month">August</span>

試してみた

$(".ui-datepicker-month").live("click", function () {
    var monthname =  $(this).val();
    alert(monthname);
});

が、うまくいっていないようです

どのように解決するのですか?

の代わりに .val() を使う .text() のような、このような。

$(".ui-datepicker-month").live("click", function () {
    var monthname =  $(this).text();
    alert(monthname);
});

または、jQuery 1.7+では on() として live は非推奨です。

$(document).on('click', '.ui-datepicker-month', function () {
    var monthname =  $(this).text();
    alert(monthname);
});

.val() は入力タイプの要素(textareasやdropdownを含む)用で、テキストコンテンツを持つ要素を扱っているので .text() のように記述します。