Javascript css样式替换内联的一个样式名

Javascript css样式替换内联的一个样式名,javascript,css,regex,replace,styles,Javascript,Css,Regex,Replace,Styles,我有内联样式css字符串,我只想替换一个样式名。我想为所有样式名制作通用正则表达式。 正则表达式: HTML: 问题是所有样式名称都被替换为max width: <div style="max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px;"></div> 首先,你的问题自相矛盾。您说正则表达式适用于

我有内联样式css字符串,我只想替换一个样式名。我想为所有样式名制作通用正则表达式。 正则表达式:

HTML:

问题是所有样式名称都被替换为
max width

<div style="max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px;"></div>


首先,你的问题自相矛盾。您说正则表达式适用于所有样式名称,但您只想更改特定的CSS属性。其次,我无法理解为什么需要正则表达式来定位此属性。您可以使用CSS和JavaScript选择此属性,并将其更改为您想要的任何值

CSS:

JS:

编辑: 作为对您评论的回应,我将看一看jQuery css()方法。 这基本上允许您设置任何css属性

存在一个,可以一次设置多个CSS属性。它的缺点是它取代了所有现有的样式

因此,通过创建一个小小的“custom”
setCSSText
函数,您也可以这样做,尽管现有函数保持不变

堆栈片段

var div=document.querySelector('div');
setCSSText(div,“最大宽度:20px;颜色:红色”)
函数setCSSText(el、ss){
拆分(“;”).forEach(函数){
var pv=s.split(“:”);
如果(pv.length>1){
el.style[pv[0].trim()]=pv[1].trim();
}
})
}

一些伪文本
但我需要通用函数,因为在参数中我取
颜色:红色
最小高度:30px
填充:100px;边框:1px纯黑。我必须写一个函数,它接受每个样式名
<div style="top: auto; max-width:257px; left: 155px; right: auto; bottom: 88px; max-height: 313px; display: block;"></div>
<div style="top: auto; max-width:20px; left: 155px; right: auto; bottom: 88px; max-height: 313px; display: block;"></div>
<div style="max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px; max-width:20px;"></div>
div{ max-width: 20px; }
document.getElementsByTagName("div")[0].style.maxWidth = "20px";