我正在尝试通过 jQuery 的.data()
函数访问 html 元素的原型。到目前为止,我很困惑。
这是我的代码:
// start prototype definition for myWidget
var myWidget = function() {
console.log('my widget is alive.');
return this;
};
myWidget.prototype.chosenSelect = [];
myWidget.prototype.init = function() {
this.chosenSelect = $('#chooseMe');
// test 1
console.log(this.chosenSelect.data());
// test 2
console.log(this.chosenSelect.data('chosen'));
// test3
console.log(this.chosenSelect.data('Chosen'));
// test4
var chosenObject = this.chosenSelect.data();
console.log(chosenObject.chosen);
};
上面的测试 1 返回一个我可以使用 Chrome 开发工具查看的对象。该对象如下所示:
Object
chosen: Chosen
changeCallbacks: Array[0]
etc
etc
etc
我想访问该chosen
数据对象中的对象。但测试 2 到 4 都返回undefined
。我可能做错了什么?
编辑
原型正在从另一个库添加到元素中。这是分配发生的摘录:
Chosen.prototype.init = function(select, zidx, isIE7) {
this.select = select;
this.select.data('chosen', this);