gpt4 book ai didi

Javascript Element.style CSSStyleDeclaration 对象的属性看起来很奇怪?

转载 作者:行者123 更新时间:2023-12-05 01:53:54 26 4
gpt4 key购买 nike

假设我在 HTML 文件中有一个按钮,

<button id="btn">Click Me</button>

使用 JavaScript 将该按钮的颜色更改为红色。

const btn = document.querySelector('#btn');
btn.style['background-color'] = 'red';

然后我检查了 btn.style['background-color']。它显示红色

btn.addEventListener('click', () => {
console.log(`This button is in ${btn.style['background-color']}`)
});

所以我希望我的 btn.style 对象应该是这样的,

{
... ,
"background-color": "red",
...
}

但是当我在控制台中打印它们时,为什么键值对是 0: "background-color",而值 red 在哪里?

btn.addEventListener('click', () => console.dir(btn.style));

enter image description here

最佳答案

CSSStyleDeclaration对象有点异国情调。如果您直接查看 btn.style["background-color"]btn.style.backgroundColor,您会看到 red(或一些红色的表示,它因浏览器而异)。

const btn = document.querySelector('#btn');
btn.style['background-color'] = 'red';

btn.addEventListener('click', () => {
console.log(btn.style["background-color"]);
console.log(btn.style.backgroundColor);
});
<button id="btn">Click Me</button>

在您显示的控制台输出中,您会在 backgroundColor 下找到它:

console output showing backgroundColor: red with a circle around it

关于Javascript Element.style CSSStyleDeclaration 对象的属性看起来很奇怪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70937984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com