继续从变量获取[object] [Object]

时间:2013-09-15 20:21:26

标签: jquery

我正在尝试获取变量$target的值,但是当我打印它时,我不断获取值的[object] [Object]。我是jQuery的新手,所以这可能是一个我很想念的非常简单的问题。

$("body").click(function(event) {
            var $target = $(event.target.id);
        $("#log").html("clicked: " + $target);
        });

3 个答案:

答案 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对象。

请参阅:http://api.jquery.com/jQuery/