0

私の小さなJSフレームワークに取り組んでいます。トグル メソッドを作成しようとしています。これはコードです:

function $elect(id) {
    if (!(this instanceof $elect)) {
        return new $elect(id);
    }
    this.elm = document.getElementById(id);
}

$elect.prototype = {
    toggle:     function (prop, val1, val2) {
                    if (this.elm.style.prop != val2) {
                        this.elm.style.prop = val2;
                    } else {
                        this.elm.style.prop = val1;
                    }
                }
}

window.$elect = $elect;

そして、$elect(id).toggle('background', 'red', 'blue')それを呼び出すために使用します。しかし、もちろんこれはうまくいきません。うーん...どうやって言えばいいの?に渡したい'background'のでthis.elm.style.prop、他のcssプロパティも使用できます。propinthis.elm.style.propを渡すパラメータに置き換えるにはどうすればよいですか?

4

1 に答える 1

1

オブジェクト内のキーを参照できます

object[key]

キーは文字列です。

だからあなたの場合、それは

this.elm.style[prop]

http://jsfiddle.net/ZJWdA/
これが例です。

于 2013-09-20T15:53:06.647 に答える