PeaceJetのブログ

金融系の社内エンジニアをやりながら、マーケティングやプランナーなども

【jQuery】$(this)とthisの違い

$(this)とthisの違い

TypeError: x.attr is not a function [詳細]

このような形で、怒られたことありませんか?

チェックボックスでチェックされた直近の親要素のIDを取得しようと思ったときに、こんなトラブル・・・。

$("input[name='checkbox']").change(function () {
    var s = this.closest('div');
    var t = s.attr("id");
    console.log(t);
});

f:id:PeaceJet:20170614112924p:plain

とりあえず、typeofで型をチェックしてみるもobjectだった。
調べてみると・・・。

オブジェクトのメソッドを扱う場合には、$(this)としないといけないようです。

$("input[name='checkbox']").change(function () {
    var s = $(this).closest('div');
    var t = s.attr("id");
    console.log(t);
});

参考にさせて頂きました。
jQueryの$(this)とthisの違い : ずっと工事中