0

我正在尝试一种编写 jQuery 插件的新方法。

var $detailbox = $('.detailBox') ;

TargetList.init($detailbox);

目标列表:

TargetList = {

    init: function (elem) {

        console.log($(elem));

    }
};

elem 将返回:

[section#detailBox. detailBox, selector: ".detailBox", context: document, jquery: "1.9.1", constructor: function, init: function…]

第一个问题:这是什么?

第二个也是更重要的问题:为什么会element.id返回 undefined?

我的猜测是我不能简单地将 n 对象传递给init()方法并期望我可以控制它?但是,假设我想保持这种结构,我该怎么做呢?

4

2 回答 2

1

console.log($(elem));这只是在控制台上打印 jquery 对象。

看看这个:

[section#detailBox. detailBox, selector: ".detailBox", context: document, jquery: "1.9.1", constructor: function, init: function…]

表明您已init成功通过您的元素

访问 ID:

尝试

$(elem).attr('id');
于 2013-04-21T19:44:24.930 回答
1

记录的对象是jQuery Object

对于第二个问题,id is not a method of jQuery.It 是 a 的属性DOM object

所以试试这个

$(elem)[0].id 或者 $(elem).attr('id')

于 2013-04-21T19:45:19.673 回答