変数の値を取得しようとしていますが、出力すると値の$target
[オブジェクト] [オブジェクト] を取得し続けます。私はjQueryが初めてなので、これはおそらく私が見逃している非常に単純な問題です。
$("body").click(function(event) {
var $target = $(event.target.id);
$("#log").html("clicked: " + $target);
});
変数の値を取得しようとしていますが、出力すると値の$target
[オブジェクト] [オブジェクト] を取得し続けます。私はjQueryが初めてなので、これはおそらく私が見逃している非常に単純な問題です。
$("body").click(function(event) {
var $target = $(event.target.id);
$("#log").html("clicked: " + $target);
});
jQuery ラップを削除し$()
ます。削除しないと、jQuery の「オブジェクト」が生成されます
$("body").click(function (event) {
var target = event.target.id;
$("#log").html("clicked: " + target);
});
オプション 2: jQuery ラッパーを使用しますが、.attr('id')で ID を取得します
$("body").click(function (event) {
var $target = $(event.target);
$("#log").html("clicked: " + $target.prop('id'));
});
それは、あなたがevent.target.id
jquery オブジェクトになっているからです。$()
その周りは必要ありません:
var target = event.target.id;
$("#log").html("clicked: " + target);
それ$target
はオブジェクトだからです。文字列連結 (+
オペランドの 1 つが文字列である演算子) を使用すると、オブジェクトが変換され"[object] [Object]"
て出力されます。クリックした要素のIDを探しているだけの場合は、次を使用できます。
$("body").click(function(event) {
$("#log").html("clicked: " + event.target.id);
});
がオブジェクトである理由を理解するには、 に文字列 (つまり の値)$target
を渡したことに注意してください。次に、その引数を取り、jQuery オブジェクトを返します。event.target.id
$()
$()