0
我正在重构旧代码并且无法找到typeerror的解决方案(我明白eval的使用是皱眉,但在我的情况下没有必要为了安全)。无法从动态html代码读取属性'样式'null
我有喜欢的对象:
var Ansys = {key:'ansyskeys', loaded:0, display: "none", otherkey: 'anotherkey'};
var Cadence = {key:"cdskeys", loaded:0, display: "none", otherkey: 'cotherkey'};
我以前的HTML代码,这是静态的,我试图重构是动态的:
<div id="ansyskeys" style="display:none">
<select id="anotherkey" size="5" onchange="selectOther('anotherkey')"></select>
</div>
这是从所谓的(卖方持有的名字我想要的对象):
document.getElementById(eval(vendor).key).style.display = eval(vendor).display;
我该如何去改变HTML是类似的东西(我是你在我的对象中显示其他内容)
<div id="eval(vendor).key" style="display:none">
<select id="eval(vendor).otherkey" size="5" onchange="selectOther(eval(vendor).otherkey)"></select>
</div>
任何帮助将不胜感激。
为什么你需要的eval(? Eval接收字符串作为输入,但您已有对象可用。 –
eval将字符串名称转换为文字,而不是说vendor.key并返回undefined返回,eval(vendor).key的行为就好像它是Ansys.key – CDaly