我正在尝试获取变量的值,$target
但是当我打印它时,我不断获取 [object] [Object] 的值。我是 jQuery 的新手,所以这可能是我缺少的一个非常简单的问题。
$("body").click(function(event) {
var $target = $(event.target.id);
$("#log").html("clicked: " + $target);
});
我正在尝试获取变量的值,$target
但是当我打印它时,我不断获取 [object] [Object] 的值。我是 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
是一个对象。当使用字符串连接(+
操作数之一为字符串的运算符)时,一个对象被转换为"[object] [Object]"
您的输出。如果您只是在寻找您点击的元素的 id,您可以使用:
$("body").click(function(event) {
$("#log").html("clicked: " + event.target.id);
});
要了解为什么$target
是一个对象,请注意您将字符串(即 的值event.target.id
)传递到$()
. $()
然后接受该参数并返回一个 jQuery 对象。