传递对象属性

时间:2013-09-20 15:44:15

标签: javascript css parameters frameworks parameter-passing

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

1 个答案:

答案 0 :(得分:1)

您可以使用

引用对象中的键
object[key]

其中key是一个字符串。

所以在你的情况下,它是

this.elm.style[prop]

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

相关问题