Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何以编程方式更改属性的值?_Css_Dart - Fatal编程技术网

Css 如何以编程方式更改属性的值?

Css 如何以编程方式更改属性的值?,css,dart,Css,Dart,对不起。还是个初学者。环顾四周,找不到合适的答案(可能是因为我使用了错误的术语!) 在我的CSS文件中,我有 [pcolor="teapot"]{ background-color: #ff0000; } [pcolor="kettle"]{ background-color: #ff4440; } [pcolor="pan"]{ background-color: #0044ff; } 1) 如何改变(如“茶壶”)的颜色?(我正在使用Dart。我希望用户能够在运行时更改

对不起。还是个初学者。环顾四周,找不到合适的答案(可能是因为我使用了错误的术语!)
在我的CSS文件中,我有

[pcolor="teapot"]{
    background-color: #ff0000;
}
[pcolor="kettle"]{
    background-color: #ff4440;
}
[pcolor="pan"]{
   background-color: #0044ff;
}
1) 如何改变(如“茶壶”)的颜色?(我正在使用Dart。我希望用户能够在运行时更改颜色)。
2) 如何添加另一个属性“瓶子”(同样,在运行时)?
3) 我可以在运行时删除它们吗?

感谢Steve,它看起来像是将属性值映射到颜色。因此,要么预定义所有可用的颜色(这是一个很大的问题,因此很糟糕),要么简单地覆盖背景色属性。我不建议在运行时更改/添加/删除CSS,这可以通过
元素实现。更好的方法如下:

在Dart(以及JavaScript)中,您可以使用元素的style属性访问元素的CSS。您可以继续并执行以下操作:

Element e = ...;
e.style.backgroundColor = '#f01251';

这样,元素的样式将覆盖属性中的颜色。因此,您甚至不必删除pcolor属性。您可以简单地将新颜色覆盖到
e.style.backgroundColor

谢谢Robert。我理解你的答案——这就是我目前所做的。但是我的代码中有需要设置的元素。我试图避免为这些元素设置背景色,因为我必须在每个元素之前添加一行以获得颜色。我只想将所有带有“cattle”的元素设置为一个属性/类(或某个选择器),我在一个位置更改该属性/类,并且所有元素的颜色都将更改为新的设置。也许这不是我应该使用的属性。。。?干杯,史蒂文。我明白你的意思,但是,你可以这样做:
querySelectorAll('[attr]').forEach((Element e){e.style.backgroundColor='…';})。或者使用Polymer创建一个自定义元素,并将它们放入一个列表中,然后对它们调用一个方法。