前提・実現したいこと
「function()」を使わず、「アロー関数」で$(this).attr(...)によって、対象となる要素の属性を取得したい
そもそも、そのようなことが可能なのでしょうか??
発生している問題・エラーメッセージ
「function()」を使うと「$(this).attr(...)」は正しく動作するが、「アロー関数」に置き換えると「undefined」となってしまう
該当のソースコード
#### HTML #### <form method="post" action="リンク先1> <input class="btn btn-outline-success btn-sm confirm-form" type="button" value="実行"> </form> <form method="post" action="リンク先2> <input class="btn btn-outline-success btn-sm confirm-form" type="button" value="実行"> </form> ....(リンク先の違う、同様のformがこの後にも存在) #### jQuery(function()、「button」と表示される) #### $('.confirm-form').on("click", function() { alert ($(this).attr("type")); }); #### jQuery(アロー関数、undefinedになる) #### $('.confirm-form').on("click", () => { alert ($(this).attr("type")); });
試したこと
下記のサイトを参照
https://qiita.com/alex0033/items/81a8aa1dcbd8ae9ebbcb
https://qiita.com/mejileben/items/69e5facdb60781927929
「アロー関数で動かなかったら、function()にすれば良い」というのは分かりましたが、「同じことをアロー関数で実現する方法」を見出せませんでした。実現できるのならそうしたいのですが、無理であれば「function()」で記述いたします。
補足情報(FW/ツールのバージョンなど)
jQueryのバージョン : 3.4.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/11 13:48 編集