Javascript 使用简单函数参数选择元素的样式属性?

Javascript 使用简单函数参数选择元素的样式属性?,javascript,setattribute,Javascript,Setattribute,我基本上是想用一个简单的函数来更新元素指定样式属性的值(而不会弄乱或覆盖其他样式属性)。例如,此函数将允许您输入“top”作为参数,并访问/编辑element.style.top的值(或者相反,如果输入“left”,则为element.style.left) 对于某些上下文,我的特定函数将允许用户通过移动元素边缘的位置(从而更改顶部、底部、左侧或右侧的定位属性)来调整元素的大小,以便分配的值动态响应用户的输入(因此不能由CSS类预先确定) 我想到了一些可能性: 函数changeStyleAtt

我基本上是想用一个简单的函数来更新元素指定样式属性的值(而不会弄乱或覆盖其他样式属性)。例如,此函数将允许您输入“top”作为参数,并访问/编辑element.style.top的值(或者相反,如果输入“left”,则为element.style.left)

对于某些上下文,我的特定函数将允许用户通过移动元素边缘的位置(从而更改顶部、底部、左侧或右侧的定位属性)来调整元素的大小,以便分配的值动态响应用户的输入(因此不能由CSS类预先确定)

我想到了一些可能性:

函数changeStyleAttribute(el,attr){//不起作用(语法错误?)
el.style.attr=新值
} 
函数changeStyleAttribute(el,attr){//不起作用(语法错误?)
el.setAttribute(“style.attr”,新值)
} 
函数changeStyleAttribute(el,attr){//可以工作,但看起来像hack-y?
el.setAttribute(attr,new_值)//用感兴趣的属性覆盖所有样式属性
el.classList.add(旧类)//重新引入元素的所有其他默认属性

}
如果属性的键是动态值或变量,请使用

注意:您不是在设置属性,而是在添加/修改css规则

函数changeStyleAttribute(el、cssRule){
el.style[cssRule]=值;
}

试试
el.style[attr]=new\u value
谢谢,这正是我需要的!耶,学习基本语法:-)也许我误解了你的评论,但是以你和Quantumplate建议的方式访问属性似乎会直接更新元素的样式属性(而不仅仅是css规则)(除非您指的是我自己关于向元素中添加类的建议,我现在可以事后发现这些建议存在问题)