2

我希望能够使用一个将对象作为参数的函数来更新文档中的任意数量的变量。我想要的是:

<span id="firstname"></span>
<span id="lastname"></span>

...

function updateStuff(obj) {
    for (var key in obj) {
        document.getElementById(key).innerHTML = valueAssociatedWithKey;
    }
}

...

updateStuff({
    firstname: "John",
    lastname: "Doe"
})

最终结果将<span id="firstname">John</span><span id="lastname">Doe</span>

有没有办法做到这一点?如果没有,有没有更好的选择?

对于那些熟悉RiotJS 的 self.update 函数的人来说,我实际上是在尝试在 JavaScript 中重新创建它,而不是为一个小函数拉入整个库。

注意:我想在没有任何库的情况下执行此操作,包括 JQuery。

谢谢!

4

1 回答 1

4

您所缺少的只是获取与 key 关联的值,您可以通过obj[key].

例子:

function updateStuff(obj) {
    for (var key in obj) {
        document.getElementById(key).innerHTML = obj[key];
    }
}

updateStuff({
    firstname: "John",
    lastname: "Doe"
});

JSFiddle 演示:https ://jsfiddle.net/xmhgxqj7/

于 2016-02-04T03:54:16.570 回答