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 属性。如何用我传递的参数替换propin ?this.elm.style.prop

4

1 回答 1

1

您可以使用

object[key]

其中 key 是一个字符串。

所以在你的情况下,它会是

this.elm.style[prop]

http://jsfiddle.net/ZJWdA/
这是一个例子。

于 2013-09-20T15:53:06.647 回答