如何将样式 属性 名称设为小写
How to make style property names to lowercase
所以我有一个像这样的样式的对象列表,
const styles = {
'font': 'font',
'fontSize': 'font-size',
'fontFamily': 'font-family',
'fontVariant': 'font-variant',
'fontWeight': 'font-weight',
'fontStyle': 'font-style',
'margin': 'margin',
};
<div style='MARGIN:10px; FLOAT:left'></div>
FYI
-我正在使用编辑器,因此当我粘贴 HTML 代码时,有时它会在 UPPERCASE
中包含那些 属性 名称。
如何确保所有 属性 名称都是 lowercase
我应该使用什么 function/method 来检查大小写?
如果你可以使用 ES6,那么你可以使用 Object.entries:
创建一个新对象
const lowerCaseStyles = Object.entries(styles).map(([key, value]) => ({ [key.toLowerCase()]: value}));
如果我没记错的话,你想检查样式属性的属性是大写还是小写
首先可以先获取like样式属性的值
const value = document.querySelector("div").getAttribute("style");
//this will return 'MARGIN:10px; FLOAT:left'
然后您可以使用 toLowerCase
将它们简单地转换为小写
const lowercased = value.toLowerCase();
然后你可以检查属性是否像
return value === lowercased
<div style='margin:10px; float:left'></div> returns true
<div style='MARGIN:10px; FLOAT:left'></div> returns false
我认为你需要结合已经说过的内容。
document.querySelectorAll('p').forEach(p => {
p.setAttribute('style', p.getAttribute('style').toLowerCase())
console.log(p)
})
<p style="COLOR: red;">Foo</p>
<p style="COLOR: blue;">Bar</p>
<p style="COLOR: green;">Baz</p>
也就是说,我不会在运行时这样做。也许做一次并将转换后的 HTML 直接提供给用户。甚至可以使用 gulp 或 11ty.
进行一些自动设置
样式不变换也可见。 (对我来说 chrome)
所以我有一个像这样的样式的对象列表,
const styles = {
'font': 'font',
'fontSize': 'font-size',
'fontFamily': 'font-family',
'fontVariant': 'font-variant',
'fontWeight': 'font-weight',
'fontStyle': 'font-style',
'margin': 'margin',
};
<div style='MARGIN:10px; FLOAT:left'></div>
FYI
-我正在使用编辑器,因此当我粘贴 HTML 代码时,有时它会在 UPPERCASE
中包含那些 属性 名称。
如何确保所有 属性 名称都是 lowercase
我应该使用什么 function/method 来检查大小写?
如果你可以使用 ES6,那么你可以使用 Object.entries:
创建一个新对象const lowerCaseStyles = Object.entries(styles).map(([key, value]) => ({ [key.toLowerCase()]: value}));
如果我没记错的话,你想检查样式属性的属性是大写还是小写
首先可以先获取like样式属性的值
const value = document.querySelector("div").getAttribute("style");
//this will return 'MARGIN:10px; FLOAT:left'
然后您可以使用 toLowerCase
const lowercased = value.toLowerCase();
然后你可以检查属性是否像
return value === lowercased
<div style='margin:10px; float:left'></div> returns true
<div style='MARGIN:10px; FLOAT:left'></div> returns false
我认为你需要结合已经说过的内容。
document.querySelectorAll('p').forEach(p => {
p.setAttribute('style', p.getAttribute('style').toLowerCase())
console.log(p)
})
<p style="COLOR: red;">Foo</p>
<p style="COLOR: blue;">Bar</p>
<p style="COLOR: green;">Baz</p>
也就是说,我不会在运行时这样做。也许做一次并将转换后的 HTML 直接提供给用户。甚至可以使用 gulp 或 11ty.
进行一些自动设置样式不变换也可见。 (对我来说 chrome)