var inheritPrototype = function(Child,Parent) {
Child.prototype = new Parent();
}
var News = function() {
this.children = [];
this.element = null;
}
News.prototype = {
init : function() {
throw new Error('Nothing!');
},add : function() {
throw new Error('Nothing!');
},getElement : function() {
throw new Error('Nothing!');
}
}
var Container = function(id,parent) {
News.call(this);
this.id = id;
this.parent = parent;
this.init();
}
Container.prototype.init = function() {
this.element = document.createElement('ul');
this.element.id = this.id;
this.element.className = 'new-container';
}
Container.prototype.add = function(child) {
this.children.push(child);
this.element.appendChild(child.getElement());
return this;
}
Container.prototype.getElement = function() {
return this.element;
}
Container.prototype.show = function() {
this.parent.appendChild(this.element);
}
部分整体的层次结构
var news1 = new Container('news',document.body);
news1.add(
new Item('normal').add(
new IconNews('','','');
)
).add(
new Item('normal').add(
new IconNews('','');
)
).show();