重置输入控件的边框颜色(HTML/Javascript)

dav*_*eps 20 html javascript validation dom border

有没有人知道如何使用javascript修改输入控件的边框颜色?通过突出显示其中包含不正确或无效数据的字段等来进行验证.

例如改变边界:

document.getElementById('myinput').style.border = '1px solid red';
Run Code Online (Sandbox Code Playgroud)

怎么重置?下一行完全删除边框...

document.getElementById('myinput').style.border = '';
Run Code Online (Sandbox Code Playgroud)

如果我将边框颜色重置为特定颜色(例如黑色或灰色等),在某些浏览器/操作系统中可能看起来很奇怪,那些"主题"控件......

谢谢堆!

cle*_*tus 27

不要使用设置样式属性.通过使用CSS类来做到这一点.我还建议使用Javascript库来处理这个问题.它只是使代码更清晰.

删除CSS属性是有问题的,因为您并不总是知道应该将它们设置回去.添加和删​​除类只是...工作.

每个元素可以有多个类,所以实际上没有反对这样做的论据(imho).

我习惯了jQuery,所以我的例子就是这样.

错误的方法:

$("#myinput").css("border", "1px solid red");
Run Code Online (Sandbox Code Playgroud)

正确的方法:

<style type="text/css">
.redborder { border: 1px solid red; }
</style>

<script type="text/javascript">
$("#myinput").addClass("redborder");
$("#myinput").removeClass("redborder");
$("#myinput").toggleClass("redborder");
</script>
Run Code Online (Sandbox Code Playgroud)


egr*_*utz 6

这对我有用:

document.getElementById('myinput').style.removeProperty('border');
Run Code Online (Sandbox Code Playgroud)