This question already has answers here:
JavaScript property access: dot notation vs. brackets?
                                
                                    (13个回答)
                                
                        
                                9个月前关闭。
            
                    
我做了一个函数,可以轻松地分配CSS样式。但是我的功能没有在函数中采用prop的第二值。

我已经尽力了。

<div id="obj"></div>
<script>
let obj=document.getElementById('obj');
animate=(element,prop,value)=>element.style.prop=value+'px';
animate(obj,'top',100);
</script>

最佳答案

您应将Bracket Notation用于动态属性名称。

animate = (element,prop,value) => element.style[prop] = value + 'px';


注意:如果默认位置为top,则设置absolute永远不会起作用。以下是示例



let obj=document.getElementById('obj');
animate=(element,prop,value)=>element.style[prop]=value+'px';
animate(obj,'top',100);

#obj{
  position:absolute;
}

<div id="obj">Something</div>

10-05 21:59