Javascript 如何基于布尔值为html应用两种不同的样式

Javascript 如何基于布尔值为html应用两种不同的样式,javascript,html,css,angular,Javascript,Html,Css,Angular,我有一个html标签,例如下面的例子 <input type="text" id="fname" name="fname"> <div [ngStyle]="{'background-color':person.country === 'UK' ? 'green' : 'red' }"></<div> 如果该值为false-我不想设置任何边距上限 我尝试使用ngStyle

我有一个html标签,例如下面的例子

<input type="text" id="fname" name="fname">
<div [ngStyle]="{'background-color':person.country === 'UK' ? 'green' : 'red' }"></<div>
如果该值为false-我不想设置任何边距上限

我尝试使用ngStyle作为示例,如下所示

<input type="text" id="fname" name="fname">
<div [ngStyle]="{'background-color':person.country === 'UK' ? 'green' : 'red' }"></<div>
这里有一种方法:

var bool=true;
var input=document.getElementById(“fname”)
如果(bool==true){
input.style.marginTop=“40px”;
}

ng样式是一个角度指令。在应用程序中是否使用Angular?或者你只是想在vanilla JS中使用条件风格?正如Tenma博士在回答中指出的,你需要使用JS。如果有很多元素,也可以考虑CSS。参考资料:,。如果您使用的是角度标签,请包括角度标签。这个问题有两个具体的重复,一个是有角度的,另一个是无角度的。这回答了你的问题吗<代码>文档
在加载时不可用。所以它是未定义的。还有其他选项吗?你把你的脚本放在结束正文标签之前了吗?顺便说一句,这是一个有角度的应用程序,没有传统的
head
body
标签,但是是的,应用程序已经启动并运行了。你能使用吗?