toElement 是 Mootools 1.2 里的一个新特性(但并没有在其官方文档里说明)。toElement 只是一个返回 element 对象的方法。当向 $ 传递一个对象时,它会尝试调用对象的 toElement 方法来取得当前 element。
示例
var User = new Class({
initialize: function(name){
this.name = name;
},
toElement: function(){
if (!this.element) {
this.element = new Element('div', {'class': 'user'});
var avatar = new Element('img', {
src: '/avatars/' + this.name + '.jpg'
});
var description = new Element('div', {
'class': 'username',
'text': this.name
});
this.element.adopt(avatar, description);
}
return this.element;
}
});
window.addEvent('domready', function(){
var alice = new User('Alice');
var bob = new User('Bob');
$(alice).inject('header', 'after');
// let's inject bob after alice
$(bob).inject(alice, 'after');
});