我正在尝试获取变量$target
的值,但是当我打印它时,我不断获取值的[object] [Object]。我是jQuery的新手,所以这可能是一个我很想念的非常简单的问题。
$("body").click(function(event) {
var $target = $(event.target.id);
$("#log").html("clicked: " + $target);
});
答案 0 :(得分:1)
删除jQuery wrapp $()
,否则你得到一个jQuery“ object ”
$("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'));
});
答案 1 :(得分:1)
那是因为你将event.target.id
变成了一个jquery对象。你不需要它周围的$()
:
var target = event.target.id;
$("#log").html("clicked: " + target);
答案 2 :(得分:1)
那是因为$target
是一个对象。当使用字符串连接(+
运算符,其中一个操作数是字符串)时,对象将转换为"[object] [Object]"
,从而输出。如果您只是在寻找您点击的元素的ID,您可以使用:
$("body").click(function(event) {
$("#log").html("clicked: " + event.target.id);
});
要理解$target
为对象的原因,请注意您将字符串(即event.target.id
的值)传递给$()
。然后$()
接受该参数并返回一个jQuery对象。