私は持っていvar test = $(this).attr('id');
ます。test を var として宣言しましたが、取得する理由がわかりません
TypeError: テストが定義されていません。
このエラーが表示されるのはなぜですか?
私は持っていvar test = $(this).attr('id');
ます。test を var として宣言しましたが、取得する理由がわかりません
TypeError: テストが定義されていません。
このエラーが表示されるのはなぜですか?
あなたの変数 はtest
、(おそらくあなたの) がundefined
何であれ、属性を持っていないためです。そのため、存在しない属性の値を要求すると、が返され、 の値として割り当てられます。の文脈上の意味を混同している可能性が非常に高いです。this
window
id
undefined
test
this
以下this
では、コールバック関数だけでなく、グローバル スコープから呼び出しています。それらの参照の違いに注意してください。がどこthis
で呼び出されるか、および周囲の関数がどのようthis
に呼び出されるかによって、意味が大きく異なります。
var outerTest = $(this).width(); // this is the window
$("img").on("click", function () {
var innerTest = $(this).attr("id"); // this is the image
});