• ベストアンサー

自作関数の中でthisを使用することはできますか?

jqueryで関数を組んだ際、関数内でthisを使用することはできないのでしょうか? できない場合は代替の方法などがあれば教えていただきたいです。 イメージとしては以下のような形ですが、これでは動作しませんでした。 $(function(){ $("#hoge").click(function(){ fugafuga(); }) function fugafuga() { $(this).text("HOGE FUGA"); } })

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

普通にthis値を指定して、呼び出せばよろしいかと。 ご提示の例で言えば >fugafuga(); の部分を fugafuga.call(this); に変えれば、後はそのままで動作しませんか?

love-uni
質問者

お礼

callというメソッドを初めて知りました! 勉強になりました、ありがとうございます!

その他の回答 (1)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 $('#hoge').click ( function() { fugafuga($(this)); }); function fugafuga ( obj ) { // objはjQueryオブジェクト // この場合は$('#hoge'); // returnすることでチェーンメソッドを生かす return obj.text ( 'HOGE FUGA'); } とするのが手っ取り早いと思います。

love-uni
質問者

お礼

こういう方法もあるんですね。 回答ありがとうございました!

関連するQ&A

専門家に質問してみよう