将css属性添加到元素

Dan*_*son 31 html javascript css

我想将css属性添加到我的元素中.但是当我在这里使用代码执行此操作时,我会松开所有对元素产生影响的属性.

function checkNr(id) {
    var value = document.getElementById(id).value;
    if (parseFloat(value) == NaN) {
        document.getElementById(id).setAttribute("style", "border:2px solid red; background-color: rgb(255, 125, 115);");
    }
    else {
        document.getElementById(id).setAttribute("Style", "border:default; background-color: rgb(255, 255, 255);");
    }

}
Run Code Online (Sandbox Code Playgroud)

在我使用此方法之前,它具有以下属性:

float: left;
width: 50px;
Run Code Online (Sandbox Code Playgroud)

然后它只从javascript方法获得特定属性.所以,我想添加属性而不是替换它们.

ade*_*neo 47

像这样设置样式属性,覆盖属性并删除以前设置的样式.

你真正应该做的是直接设置样式,而不是通过更改样式属性:

function checkNr(id) {
    var elem  = document.getElementById(id),
        value = elem.value;
    if (parseFloat(value) == NaN) {
        elem.style.border = '2px solid red'; 
        elem.style.backgroundColor = 'rgb(255, 125, 115)';
    } else {
        elem.style.border = 'none'; 
        elem.style.backgroundColor = 'rgb(255, 255, 255)';
    }
}
Run Code Online (Sandbox Code Playgroud)