我正在尝试一种编写jQuery插件的新方法。
var $detailbox = $('.detailBox') ;
TargetList.init($detailbox);
TARGETLIST:
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()
方法并期望我可以控制它?
但是我怎么能这样做,假设我想保持这种结构?
答案 0 :(得分: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');
答案 1 :(得分:1)
记录的对象是jQuery Object
对于第二个问题,id is not a method of jQuery
。它是DOM object
的属性。
所以试试这个
$(elem)[0].id
或 $(elem).attr('id')