修改HTML文档';s";大师;CSS模板由JavaScript永久保存

修改HTML文档';s";大师;CSS模板由JavaScript永久保存,javascript,html,angular,css,Javascript,Html,Angular,Css,我有一个CSS类,用于以CSS布局网格格式显示许多div: .wrapper { display: grid; grid-templpate-columns: 200px 200px 200px; } 通过javascript,我改变了一些使用它的元素的宽度(即getElementByClass(“包装器”)和循环)。对于已经显示以下内容的用户,它可以正常工作: 问题:当我通过JS添加一个新的DIV时,新的DIV只会恢复到200px的宽度! 在我看来,当生成新元素(通过代码)

我有一个CSS类,用于以CSS布局网格格式显示许多div:

.wrapper {
   display: grid;
   grid-templpate-columns: 200px 200px 200px;
}

通过javascript,我改变了一些使用它的元素的宽度(即
getElementByClass(“包装器”)
和循环)。对于已经显示以下内容的用户,它可以正常工作:

问题:当我通过JS添加一个新的DIV时,新的DIV只会恢复到200px的宽度!

在我看来,当生成新元素(通过代码)时,浏览器会调用原始模板,并将其简单地映射(使用所有200px)到我刚刚创建的新元素

我环顾四周,找不到有关更改存储在某处的“主”css模板的主题

问题:有没有一种方法可以永久更改加载的CSS模板的属性


注意:我无法循环通过“.wrapper”来更改新添加的元素,因为我使用的是Angular4,并且在呈现模板后它似乎不再运行任何代码(此处更改表视图)

为什么不将类添加到元素中,然后在添加到DOM之前更改宽度,或者附加到DOM,然后直接在?:)之后更改宽度

请看以下片段:

const wrappers=document.getElementsByClassName('wrapper');
for(设i=0;i
.wrapper{
显示:网格;
网格模板列:200px 200px 200px;
颜色:白色;
}
蓝先生{
背景:橙色;
}

200px
200px
200px
200px
200px
200px

共享您的代码,创建fiddle或snippet。如果您可以创建新的div,为什么不按您想要的宽度创建它们呢。我假设200px DIV来自CSS规则集。不管这个流氓规则集是来自外部样式表、内联块还是ng模板,都有一千种方法可以覆盖它。如果你发布一些你到目前为止所做的真实代码的假象,我们将更好地提供帮助。图像最多只能起到些许帮助。通过数据结构上的ng4“*ngFor”构造(每个对象都拼写一行的数组),行(在视图中)的添加是自动的。因此,我实际上无法控制元素的创建时间……当附加数组时,请更新包装器的样式:)我在上面发布了一个片段。添加了另一个示例,说明如何使用角度来处理它