【问题标题】:Passing object property传递对象属性
【发布时间】:2013-09-20 15:44:15
【问题描述】:

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

【问题讨论】:

    标签: javascript css parameters frameworks parameter-passing


    【解决方案1】:

    你可以引用对象中的键

    object[key]
    

    其中 key 是一个字符串。

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

    this.elm.style[prop]
    

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

    【讨论】:

    • 甜蜜。顺便说一句,说“一把钥匙”,你是指它的属性吗?对此完全陌生。
    • 根据我的经验,它们是可以互换的术语。
    猜你喜欢
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多