Javascriptを使用して入力コントロールを変更した後、入力コントロールの境界線の色をリセットする方法を知っている人はいますか?不正または無効なデータが含まれているフィールドなどを強調表示することにより、検証に役立ちます。
例えば。国境の変更:
document.getElementById('myinput').style.border = '1px solid red';
リセットする方法は?次の行は境界線を完全に削除します...
document.getElementById('myinput').style.border = '';
境界線の色を特定の色(黒や灰色など)にリセットすると、一部のブラウザ/オペレーティングシステムでは、コントロールの「テーマ」のようなものが奇妙に見える場合があります。
ヒープに感謝します!
スタイル属性を設定してはいけません。 CSSクラスを使用してそれを行います。また、Javascriptライブラリを使用してこれを処理することをお勧めします。コードをすっきりさせるだけです。
CSS属性を削除すると、それらを何に戻すべきかが常にわからないため、問題が発生します。クラスの追加と削除は...機能します。
要素ごとに複数のクラスを持つことができるので、この方法でそれを行うことに反対する議論は実際にはありません(imho)。
私はjQueryに慣れているので、私の例はそれです。
進入禁止:
$("#myinput").css("border", "1px solid red");
正しい方法:
<style type="text/css">
.redborder { border: 1px solid red; }
</style>
<script type="text/javascript">
$("#myinput").addClass("redborder");
$("#myinput").removeClass("redborder");
$("#myinput").toggleClass("redborder");
</script>
これは私のために働きます:
document.getElementById('myinput').style.removeProperty('border');
国境をなくしたいだけですか?あなたが言ったように、そうではないと私は思いません。
「リセット」する適切な方法は、デフォルトに設定することです。デフォルトが何であるかはわかりませんが、「1pxblack」などのようなものだと思います。
私は通常、この手法をさまざまなアプリケーションで使用します。デフォルトがわからないときは、自分で「デフォルト」を設定して繰り返します。 Webページでの私のお気に入りのテクニックの1つは、境界線ではなく、コントロールの背景色を設定することです。それは非常に目立ち、より落ち着いた色を選択しても影響を与えることができます。その場合、背景をデフォルトの白に戻すのは非常に簡単です。