function ge(id){
this.id=id;
this.d=document;
this.w=window;
return document.getElementById(id);
}
ge.prototype={
set_in:function(value){
this.innerHTML=value;
},
getIn:function(){
return document.getElementById(this.id).innerHTML;
},
foc:function(){
document.getElementById(this.id).focus();
}
}
我想做的是,如果我调用ge('id')。getIn()将导致该元素的innerHTML
答案 0 :(得分:2)
您在该构造函数中返回DOM Node
。我猜你用它作为构造函数,所以你覆盖实际应该返回的Object
。
跳过
return document.getElementById(id);
你很好。您可以将该节点引用存储在某个this.myRef
值中。
删除return
语句后,您需要创建一个实例。像
var myGE = new ge('id');
然后你终于可以打电话了
myGE.getin();
答案 1 :(得分:1)
您需要调用new ge("header").getIn();
而不仅仅是ge("header").getIn();
- 或创建另一个返回ge
新实例的函数 - 例如:
function newge(id) {
return new ge(id);
}
function ge(id){
this.id=id;
this.d=document;
this.w=window;
return this; //document.getElementById(id);
}
ge.prototype={
set_in:function(value){
this.innerHTML=value;
},
getIn:function(){
return document.getElementById(this.id).innerHTML;
},
foc:function(){
document.getElementById(this.id).focus();
}
}
newge("header").getIn();