0
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 が生成されることです。

4

2 に答える 2

2

DOM Nodeそのコンストラクター関数でを返します。コンストラクターとして使用していると思いますので、Object実際に返されるはずのを上書きしてください。

スキップして

return document.getElementById(id);

そして、あなたは良いです。this.myRef代わりに、そのノード参照を何らかの値に格納できます。


そのステートメントを削除した後return、インスタンスを作成する必要があります。好き

var myGE = new ge('id');

そして、あなたは最終的に呼び出すことができます

myGE.getin();
于 2012-04-12T14:25:46.520 に答える
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();
于 2012-04-12T14:28:55.583 に答える