将变量字符串插入到javascript原型表达式中

时间:2010-05-19 23:58:43

标签: javascript

请原谅我在这个问题上给你一个令人困惑的头衔。 我真的很困惑,我不知道如何换句话说。

所以这就是我要完成的任务。

我正在制作一个自定义Javascript对象来存储数据。

我已经自动化了这个过程并将对象的每个实例插入到一个数组中。

我正在创建一个循环语句来调用对象的每个实例的唯一属性值。

当我想使用表达式时,对象的属性名称将是可变的,因为我不知道它是哪一个。

基本上我需要将一个字符串值合并到原型表达式中。

e.g

document.getElementById('text').style."fontsize"=value;

因为我不能直接这样做,我想可能我可以使用eval函数:

eval('document.getElementById("text").style.' + buttons[i].cssvalue + '="39px";');

但这仍然不起作用。

可以解决这个问题,还是有另一种方法来实现这个目标?

如果有一些不清楚的东西,请指出,我会尽力详细说明。

提前致谢。

3 个答案:

答案 0 :(得分:2)

在javascript中,您可以使用以下表示法访问对象的属性:

document.getElementById('text').style["fontSize"] = value;

所以你的代码可能是:

document.getElementById('text').style[buttons[i].cssvalue] = "39px";

答案 1 :(得分:0)

我不知道这是否有帮助,但我做了一个实用功能,我发布到npm,它允许你输入一个类名/元素以及你正在寻找的CSS属性。然后,这将返回一个包含CSS属性及其值的Javascript对象。

你可以在Github和NPM上找到它:

GitHub:https://github.com/tjcafferkey/stylerjs

NPM:https://www.npmjs.com/package/stylerjs

答案 2 :(得分:-1)

首先想一想,看看像JQuery或Dojo这样的Javascript库或框架,他们可能已经解决了你正在看的问题。我们在工作中使用JQuery,但我更喜欢Dojo的设计,但它更适用于大型Web应用程序。

除此之外,Jakub的解决方案应该有效。